kernel: bump 5.4 to 5.4.143
Manually rebased: bcm27xx/patches-5.4/950-1031-net-lan78xx-Ack-pending-PHY-ints-when-resetting.patch Removed upstreamed: mvebu/patches-5.4/100-cpufreq-armada-37xx-forbid-cpufreq-for-1.2-GHz-variant.patch All others updated automatically. Compile-tested on: lantiq/xrx200, armvirt/64 Runtime-tested on: lantiq/xrx200, armvirt/64 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
		| @@ -6,9 +6,9 @@ ifdef CONFIG_TESTING_KERNEL | ||||
|   KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER) | ||||
| endif | ||||
|  | ||||
| LINUX_VERSION-5.4 = .142 | ||||
| LINUX_VERSION-5.4 = .143 | ||||
|  | ||||
| LINUX_KERNEL_HASH-5.4.142 = 99785728968564ba27c7e552d024b560072dcbc885540912eabb5c021e231451 | ||||
| LINUX_KERNEL_HASH-5.4.143 = 0953650b05a5f806d76c5691583e94e141f4f691bc0ba75a60b643740f021d24 | ||||
|  | ||||
| remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) | ||||
| sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) | ||||
|   | ||||
| @@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> | ||||
|  | ||||
| --- a/drivers/net/usb/lan78xx.c | ||||
| +++ b/drivers/net/usb/lan78xx.c | ||||
| @@ -2461,6 +2461,11 @@ static int lan78xx_reset(struct lan78xx_ | ||||
| @@ -2469,6 +2469,11 @@ static int lan78xx_reset(struct lan78xx_ | ||||
|  	int ret = 0; | ||||
|  	unsigned long timeout; | ||||
|  	u8 sig; | ||||
| @@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> | ||||
|   | ||||
|  	ret = lan78xx_read_reg(dev, HW_CFG, &buf); | ||||
|  	buf |= HW_CFG_LRST_; | ||||
| @@ -2514,6 +2519,9 @@ static int lan78xx_reset(struct lan78xx_ | ||||
| @@ -2522,6 +2527,9 @@ static int lan78xx_reset(struct lan78xx_ | ||||
|   | ||||
|  	ret = lan78xx_read_reg(dev, HW_CFG, &buf); | ||||
|  	buf |= HW_CFG_MEF_; | ||||
| @@ -36,7 +36,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> | ||||
|  	ret = lan78xx_write_reg(dev, HW_CFG, buf); | ||||
|   | ||||
|  	ret = lan78xx_read_reg(dev, USB_CFG0, &buf); | ||||
| @@ -2569,6 +2577,9 @@ static int lan78xx_reset(struct lan78xx_ | ||||
| @@ -2577,6 +2585,9 @@ static int lan78xx_reset(struct lan78xx_ | ||||
|  			buf |= MAC_CR_AUTO_DUPLEX_ | MAC_CR_AUTO_SPEED_; | ||||
|  		} | ||||
|  	} | ||||
|   | ||||
| @@ -1051,7 +1051,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org> | ||||
|  				USB_PORT_FEAT_C_OVER_CURRENT); | ||||
| --- a/drivers/usb/core/message.c
 | ||||
| +++ b/drivers/usb/core/message.c
 | ||||
| @@ -1993,6 +1993,85 @@ free_interfaces:
 | ||||
| @@ -1999,6 +1999,85 @@ free_interfaces:
 | ||||
|  	if (cp->string == NULL && | ||||
|  			!(dev->quirks & USB_QUIRK_CONFIG_INTF_STRINGS)) | ||||
|  		cp->string = usb_cache_string(dev, cp->desc.iConfiguration); | ||||
|   | ||||
| @@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> | ||||
|  | ||||
| --- a/drivers/net/usb/lan78xx.c | ||||
| +++ b/drivers/net/usb/lan78xx.c | ||||
| @@ -2643,6 +2643,22 @@ static int lan78xx_open(struct net_devic | ||||
| @@ -2651,6 +2651,22 @@ static int lan78xx_open(struct net_devic | ||||
|   | ||||
|  	netif_dbg(dev, ifup, dev->net, "phy initialised successfully"); | ||||
|   | ||||
|   | ||||
| @@ -37,7 +37,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | ||||
|  static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data) | ||||
|  { | ||||
|  	u32 *buf = kmalloc(sizeof(u32), GFP_KERNEL); | ||||
| @@ -2925,8 +2934,14 @@ static int lan78xx_bind(struct lan78xx_n | ||||
| @@ -2933,8 +2942,14 @@ static int lan78xx_bind(struct lan78xx_n | ||||
|  	if (DEFAULT_RX_CSUM_ENABLE) | ||||
|  		dev->net->features |= NETIF_F_RXCSUM; | ||||
|   | ||||
|   | ||||
| @@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> | ||||
|  | ||||
| --- a/drivers/net/usb/lan78xx.c | ||||
| +++ b/drivers/net/usb/lan78xx.c | ||||
| @@ -2175,6 +2175,22 @@ static int lan78xx_phy_init(struct lan78 | ||||
| @@ -2183,6 +2183,22 @@ static int lan78xx_phy_init(struct lan78 | ||||
|  	mii_adv_to_linkmode_adv_t(fc, mii_adv); | ||||
|  	linkmode_or(phydev->advertising, fc, phydev->advertising); | ||||
|   | ||||
| @@ -39,7 +39,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> | ||||
|  	if (phydev->mdio.dev.of_node) { | ||||
|  		u32 reg; | ||||
|  		int len; | ||||
| @@ -2652,22 +2668,6 @@ static int lan78xx_open(struct net_devic | ||||
| @@ -2660,22 +2676,6 @@ static int lan78xx_open(struct net_devic | ||||
|   | ||||
|  	netif_dbg(dev, ifup, dev->net, "phy initialised successfully"); | ||||
|   | ||||
|   | ||||
| @@ -27,7 +27,7 @@ See: https://github.com/raspberrypi/linux/issues/2447 | ||||
|  static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data) | ||||
|  { | ||||
|  	u32 *buf = kmalloc(sizeof(u32), GFP_KERNEL); | ||||
| @@ -3768,7 +3773,12 @@ static int lan78xx_probe(struct usb_inte | ||||
| @@ -3776,7 +3781,12 @@ static int lan78xx_probe(struct usb_inte | ||||
|  	netdev->max_mtu = MAX_SINGLE_PACKET_SIZE; | ||||
|  	netif_set_gso_max_size(netdev, MAX_SINGLE_PACKET_SIZE - MAX_HEADER); | ||||
|   | ||||
|   | ||||
| @@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> | ||||
|  | ||||
| --- a/drivers/net/usb/lan78xx.c | ||||
| +++ b/drivers/net/usb/lan78xx.c | ||||
| @@ -2180,7 +2180,7 @@ static int lan78xx_phy_init(struct lan78 | ||||
| @@ -2188,7 +2188,7 @@ static int lan78xx_phy_init(struct lan78 | ||||
|  	mii_adv_to_linkmode_adv_t(fc, mii_adv); | ||||
|  	linkmode_or(phydev->advertising, fc, phydev->advertising); | ||||
|   | ||||
|   | ||||
| @@ -12,7 +12,7 @@ in both dwc_otg and in ipv6 processing. | ||||
|  | ||||
| --- a/drivers/net/usb/lan78xx.c | ||||
| +++ b/drivers/net/usb/lan78xx.c | ||||
| @@ -3169,7 +3169,7 @@ static int rx_submit(struct lan78xx_net | ||||
| @@ -3177,7 +3177,7 @@ static int rx_submit(struct lan78xx_net | ||||
|  	size_t size = dev->rx_urb_size; | ||||
|  	int ret = 0; | ||||
|   | ||||
|   | ||||
| @@ -46,7 +46,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org> | ||||
|   * have been called previously.  Use for set_configuration, set_interface, | ||||
| --- a/drivers/usb/core/message.c | ||||
| +++ b/drivers/usb/core/message.c | ||||
| @@ -1120,6 +1120,21 @@ static void remove_intf_ep_devs(struct u | ||||
| @@ -1126,6 +1126,21 @@ static void remove_intf_ep_devs(struct u | ||||
|  	intf->ep_devs_created = 0; | ||||
|  } | ||||
|   | ||||
|   | ||||
| @@ -27,6 +27,6 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com> | ||||
| +	/* Acknowledge any pending PHY interrupt, lest it be the last */ | ||||
| +	phy_read(phydev, LAN88XX_INT_STS); | ||||
| + | ||||
|  	mutex_lock(&phydev->lock); | ||||
|  	phy_read_status(phydev); | ||||
|   | ||||
|  	if (!phydev->link && dev->link_on) { | ||||
|  	link = phydev->link; | ||||
|   | ||||
| @@ -68,7 +68,7 @@ Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> | ||||
|  	kfree(sdev->inquiry); | ||||
|  	kfree(sdev); | ||||
|   | ||||
| @@ -868,6 +877,8 @@ static struct bin_attribute dev_attr_vpd | ||||
| @@ -871,6 +880,8 @@ static struct bin_attribute dev_attr_vpd | ||||
|   | ||||
|  sdev_vpd_pg_attr(pg83); | ||||
|  sdev_vpd_pg_attr(pg80); | ||||
| @@ -77,7 +77,7 @@ Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> | ||||
|   | ||||
|  static ssize_t show_inquiry(struct file *filep, struct kobject *kobj, | ||||
|  			    struct bin_attribute *bin_attr, | ||||
| @@ -1200,12 +1211,18 @@ static umode_t scsi_sdev_bin_attr_is_vis | ||||
| @@ -1203,12 +1214,18 @@ static umode_t scsi_sdev_bin_attr_is_vis | ||||
|  	struct scsi_device *sdev = to_scsi_device(dev); | ||||
|   | ||||
|   | ||||
| @@ -96,7 +96,7 @@ Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> | ||||
|  	return S_IRUGO; | ||||
|  } | ||||
|   | ||||
| @@ -1248,8 +1265,10 @@ static struct attribute *scsi_sdev_attrs | ||||
| @@ -1251,8 +1268,10 @@ static struct attribute *scsi_sdev_attrs | ||||
|  }; | ||||
|   | ||||
|  static struct bin_attribute *scsi_sdev_bin_attrs[] = { | ||||
|   | ||||
| @@ -33,7 +33,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> | ||||
|  /* | ||||
|   * The Mellanox Tavor device gives false positive parity errors.  Mark this | ||||
|   * device with a broken_parity_status to allow PCI scanning code to "skip" | ||||
| @@ -3321,6 +3322,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I | ||||
| @@ -3322,6 +3323,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I | ||||
|  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata); | ||||
|  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata); | ||||
|   | ||||
| @@ -42,7 +42,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> | ||||
|  /* | ||||
|   * Ivytown NTB BAR sizes are misreported by the hardware due to an erratum. | ||||
|   * To work around this, query the size it should be configured to by the | ||||
| @@ -3346,6 +3349,8 @@ static void quirk_intel_ntb(struct pci_d | ||||
| @@ -3347,6 +3350,8 @@ static void quirk_intel_ntb(struct pci_d | ||||
|  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e08, quirk_intel_ntb); | ||||
|  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e0d, quirk_intel_ntb); | ||||
|   | ||||
| @@ -51,7 +51,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> | ||||
|  /* | ||||
|   * Some BIOS implementations leave the Intel GPU interrupts enabled, even | ||||
|   * though no one is handling them (e.g., if the i915 driver is never | ||||
| @@ -3384,6 +3389,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN | ||||
| @@ -3385,6 +3390,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN | ||||
|  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq); | ||||
|  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq); | ||||
|   | ||||
|   | ||||
| @@ -19,7 +19,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | ||||
|  | ||||
| --- a/drivers/pci/quirks.c | ||||
| +++ b/drivers/pci/quirks.c | ||||
| @@ -2524,6 +2524,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VI | ||||
| @@ -2525,6 +2525,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VI | ||||
|  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_VT3364, quirk_disable_all_msi); | ||||
|  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8380_0, quirk_disable_all_msi); | ||||
|  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SI, 0x0761, quirk_disable_all_msi); | ||||
|   | ||||
| @@ -14,7 +14,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | ||||
|  | ||||
| --- a/drivers/pci/quirks.c | ||||
| +++ b/drivers/pci/quirks.c | ||||
| @@ -2530,6 +2530,9 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VI | ||||
| @@ -2531,6 +2531,9 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VI | ||||
|  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SI, 0x0761, quirk_disable_all_msi); | ||||
|  DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_BROADCOM, 0x43ec, quirk_disable_all_msi); | ||||
|  DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_BROADCOM, 0x43ef, quirk_disable_all_msi); | ||||
|   | ||||
| @@ -1,39 +0,0 @@ | ||||
| From: =?utf-8?q?Marek_Beh=C3=BAn?= <kabel@kernel.org> | ||||
| Subject: [PATCH v2] cpufreq: armada-37xx: forbid cpufreq for 1.2 GHz variant | ||||
| Date: Thu,  1 Jul 2021 00:56:01 +0200 | ||||
|  | ||||
| The 1.2 GHz variant of the Armada 3720 SOC is unstable with DVFS: when | ||||
| the SOC boots, the WTMI firmware sets clocks and AVS values that work | ||||
| correctly with 1.2 GHz CPU frequency, but random crashes occur once | ||||
| cpufreq driver starts scaling. | ||||
|  | ||||
| We do not know currently what is the reason: | ||||
| - it may be that the voltage value for L0 for 1.2 GHz variant provided | ||||
|   by the vendor in the OTP is simply incorrect when scaling is used, | ||||
| - it may be that some delay is needed somewhere, | ||||
| - it may be something else. | ||||
|  | ||||
| The most sane solution now seems to be to simply forbid the cpufreq | ||||
| driver on 1.2 GHz variant. | ||||
|  | ||||
| Signed-off-by: Marek Behún <kabel@kernel.org> | ||||
| Fixes: 92ce45fb875d ("cpufreq: Add DVFS support for Armada 37xx") | ||||
| --- | ||||
|  drivers/cpufreq/armada-37xx-cpufreq.c | 6 +++++- | ||||
|  1 file changed, 5 insertions(+), 1 deletion(-) | ||||
|  | ||||
| --- a/drivers/cpufreq/armada-37xx-cpufreq.c | ||||
| +++ b/drivers/cpufreq/armada-37xx-cpufreq.c | ||||
| @@ -102,7 +102,11 @@ struct armada_37xx_dvfs { | ||||
|  }; | ||||
|   | ||||
|  static struct armada_37xx_dvfs armada_37xx_dvfs[] = { | ||||
| -	{.cpu_freq_max = 1200*1000*1000, .divider = {1, 2, 4, 6} }, | ||||
| +	/* | ||||
| +	 * The cpufreq scaling for 1.2 GHz variant of the SOC is currently | ||||
| +	 * unstable because we do not know how to configure it properly. | ||||
| +	 */ | ||||
| +	/* {.cpu_freq_max = 1200*1000*1000, .divider = {1, 2, 4, 6} }, */ | ||||
|  	{.cpu_freq_max = 1000*1000*1000, .divider = {1, 2, 4, 5} }, | ||||
|  	{.cpu_freq_max = 800*1000*1000,  .divider = {1, 2, 3, 4} }, | ||||
|  	{.cpu_freq_max = 600*1000*1000,  .divider = {2, 4, 5, 6} }, | ||||
| @@ -22,7 +22,7 @@ Signed-off-by: Tim Harvey <tharvey@gateworks.com> | ||||
|  #include <linux/platform_data/x86/apple.h> | ||||
|  #include <linux/pm_runtime.h> | ||||
|  #include <linux/suspend.h> | ||||
| @@ -5727,3 +5728,34 @@ static void apex_pci_fixup_class(struct | ||||
| @@ -5728,3 +5729,34 @@ static void apex_pci_fixup_class(struct | ||||
|  } | ||||
|  DECLARE_PCI_FIXUP_CLASS_HEADER(0x1ac1, 0x089a, | ||||
|  			       PCI_CLASS_NOT_DEFINED, 8, apex_pci_fixup_class); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Hauke Mehrtens
					Hauke Mehrtens