kernel: bump 5.10 to 5.10.61
Manually rebased: bcm27xx/patches-5.10/950-1031-net-lan78xx-Ack-pending-PHY-ints-when-resetting.patch Removed upstreamed: mvebu/patches-5.10/101-cpufreq-armada-37xx-forbid-cpufreq-for-1.2-GHz-variant.patch All other patches automatically rebased. Build system: x86_64 Build-tested: bcm2711/RPi4B Run-tested: bcm2711/RPi4B No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us>
This commit is contained in:
		 John Audia
					John Audia
				
			
				
					committed by
					
						 Hauke Mehrtens
						Hauke Mehrtens
					
				
			
			
				
	
			
			
			 Hauke Mehrtens
						Hauke Mehrtens
					
				
			
						parent
						
							1c8214d6f2
						
					
				
				
					commit
					6b1cd3e345
				
			| @@ -7,10 +7,10 @@ ifdef CONFIG_TESTING_KERNEL | |||||||
| endif | endif | ||||||
|  |  | ||||||
| LINUX_VERSION-5.4 = .142 | LINUX_VERSION-5.4 = .142 | ||||||
| LINUX_VERSION-5.10 = .60 | LINUX_VERSION-5.10 = .61 | ||||||
|  |  | ||||||
| LINUX_KERNEL_HASH-5.4.142 = 99785728968564ba27c7e552d024b560072dcbc885540912eabb5c021e231451 | LINUX_KERNEL_HASH-5.4.142 = 99785728968564ba27c7e552d024b560072dcbc885540912eabb5c021e231451 | ||||||
| LINUX_KERNEL_HASH-5.10.60 = 696ff7753f6c7c5123dbcb0a22d693cb358c760c61a76649531b6a207155f78d | LINUX_KERNEL_HASH-5.10.61 = 82eae38cc5cd11dd6aaac91c02ff0d006c7bafd6d4cf5c6a791930820a3a91d1 | ||||||
|  |  | ||||||
| remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) | remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) | ||||||
| sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(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 | --- a/drivers/net/usb/lan78xx.c | ||||||
| +++ b/drivers/net/usb/lan78xx.c | +++ b/drivers/net/usb/lan78xx.c | ||||||
| @@ -2453,6 +2453,11 @@ static int lan78xx_reset(struct lan78xx_ | @@ -2461,6 +2461,11 @@ static int lan78xx_reset(struct lan78xx_ | ||||||
|  	int ret = 0; |  	int ret = 0; | ||||||
|  	unsigned long timeout; |  	unsigned long timeout; | ||||||
|  	u8 sig; |  	u8 sig; | ||||||
| @@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> | |||||||
|   |   | ||||||
|  	ret = lan78xx_read_reg(dev, HW_CFG, &buf); |  	ret = lan78xx_read_reg(dev, HW_CFG, &buf); | ||||||
|  	buf |= HW_CFG_LRST_; |  	buf |= HW_CFG_LRST_; | ||||||
| @@ -2506,6 +2511,9 @@ static int lan78xx_reset(struct lan78xx_ | @@ -2514,6 +2519,9 @@ static int lan78xx_reset(struct lan78xx_ | ||||||
|   |   | ||||||
|  	ret = lan78xx_read_reg(dev, HW_CFG, &buf); |  	ret = lan78xx_read_reg(dev, HW_CFG, &buf); | ||||||
|  	buf |= HW_CFG_MEF_; |  	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_write_reg(dev, HW_CFG, buf); | ||||||
|   |   | ||||||
|  	ret = lan78xx_read_reg(dev, USB_CFG0, &buf); |  	ret = lan78xx_read_reg(dev, USB_CFG0, &buf); | ||||||
| @@ -2561,6 +2569,9 @@ static int lan78xx_reset(struct lan78xx_ | @@ -2569,6 +2577,9 @@ static int lan78xx_reset(struct lan78xx_ | ||||||
|  			buf |= MAC_CR_AUTO_DUPLEX_ | MAC_CR_AUTO_SPEED_; |  			buf |= MAC_CR_AUTO_DUPLEX_ | MAC_CR_AUTO_SPEED_; | ||||||
|  		} |  		} | ||||||
|  	} |  	} | ||||||
|   | |||||||
| @@ -1134,7 +1134,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org> | |||||||
|  				USB_PORT_FEAT_C_OVER_CURRENT); |  				USB_PORT_FEAT_C_OVER_CURRENT); | ||||||
| --- a/drivers/usb/core/message.c
 | --- a/drivers/usb/core/message.c
 | ||||||
| +++ b/drivers/usb/core/message.c
 | +++ b/drivers/usb/core/message.c
 | ||||||
| @@ -2129,6 +2129,85 @@ free_interfaces:
 | @@ -2135,6 +2135,85 @@ free_interfaces:
 | ||||||
|  	if (cp->string == NULL && |  	if (cp->string == NULL && | ||||||
|  			!(dev->quirks & USB_QUIRK_CONFIG_INTF_STRINGS)) |  			!(dev->quirks & USB_QUIRK_CONFIG_INTF_STRINGS)) | ||||||
|  		cp->string = usb_cache_string(dev, cp->desc.iConfiguration); |  		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 | --- a/drivers/net/usb/lan78xx.c | ||||||
| +++ b/drivers/net/usb/lan78xx.c | +++ b/drivers/net/usb/lan78xx.c | ||||||
| @@ -2635,6 +2635,22 @@ static int lan78xx_open(struct net_devic | @@ -2643,6 +2643,22 @@ static int lan78xx_open(struct net_devic | ||||||
|   |   | ||||||
|  	netif_dbg(dev, ifup, dev->net, "phy initialised successfully"); |  	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) |  static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data) | ||||||
|  { |  { | ||||||
|  	u32 *buf = kmalloc(sizeof(u32), GFP_KERNEL); |  	u32 *buf = kmalloc(sizeof(u32), GFP_KERNEL); | ||||||
| @@ -2917,8 +2926,14 @@ static int lan78xx_bind(struct lan78xx_n | @@ -2925,8 +2934,14 @@ static int lan78xx_bind(struct lan78xx_n | ||||||
|  	if (DEFAULT_RX_CSUM_ENABLE) |  	if (DEFAULT_RX_CSUM_ENABLE) | ||||||
|  		dev->net->features |= NETIF_F_RXCSUM; |  		dev->net->features |= NETIF_F_RXCSUM; | ||||||
|   |   | ||||||
|   | |||||||
| @@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> | |||||||
|  |  | ||||||
| --- a/drivers/net/usb/lan78xx.c | --- a/drivers/net/usb/lan78xx.c | ||||||
| +++ b/drivers/net/usb/lan78xx.c | +++ b/drivers/net/usb/lan78xx.c | ||||||
| @@ -2167,6 +2167,22 @@ static int lan78xx_phy_init(struct lan78 | @@ -2175,6 +2175,22 @@ static int lan78xx_phy_init(struct lan78 | ||||||
|  	mii_adv_to_linkmode_adv_t(fc, mii_adv); |  	mii_adv_to_linkmode_adv_t(fc, mii_adv); | ||||||
|  	linkmode_or(phydev->advertising, fc, phydev->advertising); |  	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) { |  	if (phydev->mdio.dev.of_node) { | ||||||
|  		u32 reg; |  		u32 reg; | ||||||
|  		int len; |  		int len; | ||||||
| @@ -2644,22 +2660,6 @@ static int lan78xx_open(struct net_devic | @@ -2652,22 +2668,6 @@ static int lan78xx_open(struct net_devic | ||||||
|   |   | ||||||
|  	netif_dbg(dev, ifup, dev->net, "phy initialised successfully"); |  	netif_dbg(dev, ifup, dev->net, "phy initialised successfully"); | ||||||
|   |   | ||||||
|   | |||||||
| @@ -28,7 +28,7 @@ See: https://github.com/raspberrypi/linux/issues/2447 | |||||||
|  static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data) |  static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data) | ||||||
|  { |  { | ||||||
|  	u32 *buf = kmalloc(sizeof(u32), GFP_KERNEL); |  	u32 *buf = kmalloc(sizeof(u32), GFP_KERNEL); | ||||||
| @@ -3760,7 +3765,13 @@ static int lan78xx_probe(struct usb_inte | @@ -3768,7 +3773,13 @@ static int lan78xx_probe(struct usb_inte | ||||||
|  	netdev->max_mtu = MAX_SINGLE_PACKET_SIZE; |  	netdev->max_mtu = MAX_SINGLE_PACKET_SIZE; | ||||||
|  	netif_set_gso_max_size(netdev, MAX_SINGLE_PACKET_SIZE - MAX_HEADER); |  	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 | --- a/drivers/net/usb/lan78xx.c | ||||||
| +++ b/drivers/net/usb/lan78xx.c | +++ b/drivers/net/usb/lan78xx.c | ||||||
| @@ -2172,7 +2172,7 @@ static int lan78xx_phy_init(struct lan78 | @@ -2180,7 +2180,7 @@ static int lan78xx_phy_init(struct lan78 | ||||||
|  	mii_adv_to_linkmode_adv_t(fc, mii_adv); |  	mii_adv_to_linkmode_adv_t(fc, mii_adv); | ||||||
|  	linkmode_or(phydev->advertising, fc, phydev->advertising); |  	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 | --- a/drivers/net/usb/lan78xx.c | ||||||
| +++ b/drivers/net/usb/lan78xx.c | +++ b/drivers/net/usb/lan78xx.c | ||||||
| @@ -3161,7 +3161,7 @@ static int rx_submit(struct lan78xx_net | @@ -3169,7 +3169,7 @@ static int rx_submit(struct lan78xx_net | ||||||
|  	size_t size = dev->rx_urb_size; |  	size_t size = dev->rx_urb_size; | ||||||
|  	int ret = 0; |  	int ret = 0; | ||||||
|   |   | ||||||
|   | |||||||
| @@ -18,8 +18,8 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> | |||||||
|  |  | ||||||
| --- a/drivers/mmc/host/sdhci-iproc.c | --- a/drivers/mmc/host/sdhci-iproc.c | ||||||
| +++ b/drivers/mmc/host/sdhci-iproc.c | +++ b/drivers/mmc/host/sdhci-iproc.c | ||||||
| @@ -173,6 +173,17 @@ static unsigned int sdhci_iproc_get_max_ | @@ -190,6 +190,17 @@ static unsigned int sdhci_iproc_bcm2711_ | ||||||
|  		return pltfm_host->clock; |  	return 200000; | ||||||
|  } |  } | ||||||
|   |   | ||||||
| +static void sdhci_iproc_set_power(struct sdhci_host *host, unsigned char mode, | +static void sdhci_iproc_set_power(struct sdhci_host *host, unsigned char mode, | ||||||
| @@ -36,7 +36,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> | |||||||
|  static const struct sdhci_ops sdhci_iproc_ops = { |  static const struct sdhci_ops sdhci_iproc_ops = { | ||||||
|  	.set_clock = sdhci_set_clock, |  	.set_clock = sdhci_set_clock, | ||||||
|  	.get_max_clock = sdhci_iproc_get_max_clock, |  	.get_max_clock = sdhci_iproc_get_max_clock, | ||||||
| @@ -190,6 +201,7 @@ static const struct sdhci_ops sdhci_ipro | @@ -207,6 +218,7 @@ static const struct sdhci_ops sdhci_ipro | ||||||
|  	.write_b = sdhci_iproc_writeb, |  	.write_b = sdhci_iproc_writeb, | ||||||
|  	.set_clock = sdhci_set_clock, |  	.set_clock = sdhci_set_clock, | ||||||
|  	.get_max_clock = sdhci_iproc_get_max_clock, |  	.get_max_clock = sdhci_iproc_get_max_clock, | ||||||
|   | |||||||
| @@ -46,7 +46,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org> | |||||||
|   * have been called previously.  Use for set_configuration, set_interface, |   * have been called previously.  Use for set_configuration, set_interface, | ||||||
| --- a/drivers/usb/core/message.c | --- a/drivers/usb/core/message.c | ||||||
| +++ b/drivers/usb/core/message.c | +++ b/drivers/usb/core/message.c | ||||||
| @@ -1259,6 +1259,21 @@ static void remove_intf_ep_devs(struct u | @@ -1265,6 +1265,21 @@ static void remove_intf_ep_devs(struct u | ||||||
|  	intf->ep_devs_created = 0; |  	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 */ | +	/* Acknowledge any pending PHY interrupt, lest it be the last */ | ||||||
| +	phy_read(phydev, LAN88XX_INT_STS); | +	phy_read(phydev, LAN88XX_INT_STS); | ||||||
| + | + | ||||||
|  |  	mutex_lock(&phydev->lock); | ||||||
|  	phy_read_status(phydev); |  	phy_read_status(phydev); | ||||||
|   |  	link = phydev->link; | ||||||
|  	if (!phydev->link && dev->link_on) { |  | ||||||
|   | |||||||
| @@ -920,7 +920,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
| +	case RTL_VER_15: | +	case RTL_VER_15: | ||||||
|  	default: |  	default: | ||||||
|  		if (type == MCU_TYPE_USB) { |  		if (type == MCU_TYPE_USB) { | ||||||
|  			ocp_write_byte(tp, MCU_TYPE_USB, USB_BP2_EN, 0); |  			ocp_write_word(tp, MCU_TYPE_USB, USB_BP2_EN, 0); | ||||||
| @@ -3653,6 +4100,11 @@ static bool rtl8152_is_fw_mac_ok(struct | @@ -3653,6 +4100,11 @@ static bool rtl8152_is_fw_mac_ok(struct | ||||||
|  		case RTL_VER_06: |  		case RTL_VER_06: | ||||||
|  		case RTL_VER_08: |  		case RTL_VER_08: | ||||||
|   | |||||||
| @@ -33,7 +33,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> | |||||||
|  /* |  /* | ||||||
|   * The Mellanox Tavor device gives false positive parity errors.  Mark this |   * The Mellanox Tavor device gives false positive parity errors.  Mark this | ||||||
|   * device with a broken_parity_status to allow PCI scanning code to "skip" |   * 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, 0x65f9, quirk_intel_mc_errata); | ||||||
|  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, 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. |   * 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 |   * 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, 0x0e08, quirk_intel_ntb); | ||||||
|  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e0d, 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 |   * Some BIOS implementations leave the Intel GPU interrupts enabled, even | ||||||
|   * though no one is handling them (e.g., if the i915 driver is never |   * 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, 0x010a, disable_igfx_irq); | ||||||
|  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq); |  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq); | ||||||
|   |   | ||||||
|   | |||||||
| @@ -17,9 +17,6 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |||||||
|  delete mode 100644 Documentation/devicetree/bindings/usb/mediatek,musb.txt |  delete mode 100644 Documentation/devicetree/bindings/usb/mediatek,musb.txt | ||||||
|  create mode 100644 Documentation/devicetree/bindings/usb/mediatek,musb.yaml |  create mode 100644 Documentation/devicetree/bindings/usb/mediatek,musb.yaml | ||||||
|  |  | ||||||
| diff --git a/Documentation/devicetree/bindings/usb/mediatek,musb.txt b/Documentation/devicetree/bindings/usb/mediatek,musb.txt |  | ||||||
| deleted file mode 100644 |  | ||||||
| index 5eedb02965622..0000000000000 |  | ||||||
| --- a/Documentation/devicetree/bindings/usb/mediatek,musb.txt | --- a/Documentation/devicetree/bindings/usb/mediatek,musb.txt | ||||||
| +++ /dev/null | +++ /dev/null | ||||||
| @@ -1,57 +0,0 @@ | @@ -1,57 +0,0 @@ | ||||||
| @@ -80,9 +77,6 @@ index 5eedb02965622..0000000000000 | |||||||
| -		vbus-supply = <&usb_vbus>; | -		vbus-supply = <&usb_vbus>; | ||||||
| -	}; | -	}; | ||||||
| -}; | -}; | ||||||
| diff --git a/Documentation/devicetree/bindings/usb/mediatek,musb.yaml b/Documentation/devicetree/bindings/usb/mediatek,musb.yaml |  | ||||||
| new file mode 100644 |  | ||||||
| index 0000000000000..790efe8b62746 |  | ||||||
| --- /dev/null | --- /dev/null | ||||||
| +++ b/Documentation/devicetree/bindings/usb/mediatek,musb.yaml | +++ b/Documentation/devicetree/bindings/usb/mediatek,musb.yaml | ||||||
| @@ -0,0 +1,113 @@ | @@ -0,0 +1,113 @@ | ||||||
| @@ -199,6 +193,3 @@ index 0000000000000..790efe8b62746 | |||||||
| +        }; | +        }; | ||||||
| +    }; | +    }; | ||||||
| +... | +... | ||||||
| --  |  | ||||||
| 2.32.0 |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -13,8 +13,6 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |||||||
|  Documentation/devicetree/bindings/usb/mediatek,musb.yaml | 1 + |  Documentation/devicetree/bindings/usb/mediatek,musb.yaml | 1 + | ||||||
|  1 file changed, 1 insertion(+) |  1 file changed, 1 insertion(+) | ||||||
|  |  | ||||||
| diff --git a/Documentation/devicetree/bindings/usb/mediatek,musb.yaml b/Documentation/devicetree/bindings/usb/mediatek,musb.yaml |  | ||||||
| index 790efe8b62746..84ddacfdbe9b0 100644 |  | ||||||
| --- a/Documentation/devicetree/bindings/usb/mediatek,musb.yaml | --- a/Documentation/devicetree/bindings/usb/mediatek,musb.yaml | ||||||
| +++ b/Documentation/devicetree/bindings/usb/mediatek,musb.yaml | +++ b/Documentation/devicetree/bindings/usb/mediatek,musb.yaml | ||||||
| @@ -17,6 +17,7 @@ properties: | @@ -17,6 +17,7 @@ properties: | ||||||
| @@ -25,6 +23,3 @@ index 790efe8b62746..84ddacfdbe9b0 100644 | |||||||
|            - mediatek,mt2701-musb |            - mediatek,mt2701-musb | ||||||
|        - const: mediatek,mtk-musb |        - const: mediatek,mtk-musb | ||||||
|   |   | ||||||
| --  |  | ||||||
| 2.32.0 |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -11,8 +11,6 @@ Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com> | |||||||
|  Documentation/devicetree/bindings/usb/mediatek,musb.yaml | 1 + |  Documentation/devicetree/bindings/usb/mediatek,musb.yaml | 1 + | ||||||
|  1 file changed, 1 insertion(+) |  1 file changed, 1 insertion(+) | ||||||
|  |  | ||||||
| diff --git a/Documentation/devicetree/bindings/usb/mediatek,musb.yaml b/Documentation/devicetree/bindings/usb/mediatek,musb.yaml |  | ||||||
| index 84ddacfdbe9b0..03d62d60ce5fe 100644 |  | ||||||
| --- a/Documentation/devicetree/bindings/usb/mediatek,musb.yaml | --- a/Documentation/devicetree/bindings/usb/mediatek,musb.yaml | ||||||
| +++ b/Documentation/devicetree/bindings/usb/mediatek,musb.yaml | +++ b/Documentation/devicetree/bindings/usb/mediatek,musb.yaml | ||||||
| @@ -19,6 +19,7 @@ properties: | @@ -19,6 +19,7 @@ properties: | ||||||
| @@ -23,6 +21,3 @@ index 84ddacfdbe9b0..03d62d60ce5fe 100644 | |||||||
|        - const: mediatek,mtk-musb |        - const: mediatek,mtk-musb | ||||||
|   |   | ||||||
|    reg: |    reg: | ||||||
| --  |  | ||||||
| 2.32.0 |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -11,11 +11,9 @@ Signed-off-by: Sungbo Eo <mans0n@gorani.run> | |||||||
|  arch/arm/boot/dts/mt7623a.dtsi |  4 ++++ |  arch/arm/boot/dts/mt7623a.dtsi |  4 ++++ | ||||||
|  2 files changed, 38 insertions(+) |  2 files changed, 38 insertions(+) | ||||||
|  |  | ||||||
| diff --git a/arch/arm/boot/dts/mt7623.dtsi b/arch/arm/boot/dts/mt7623.dtsi |  | ||||||
| index 3c11f7cfcc401..790d74439cc66 100644 |  | ||||||
| --- a/arch/arm/boot/dts/mt7623.dtsi | --- a/arch/arm/boot/dts/mt7623.dtsi | ||||||
| +++ b/arch/arm/boot/dts/mt7623.dtsi | +++ b/arch/arm/boot/dts/mt7623.dtsi | ||||||
| @@ -585,6 +585,40 @@ spi2: spi@11017000 { | @@ -585,6 +585,40 @@ | ||||||
|  		status = "disabled"; |  		status = "disabled"; | ||||||
|  	}; |  	}; | ||||||
|   |   | ||||||
| @@ -56,11 +54,9 @@ index 3c11f7cfcc401..790d74439cc66 100644 | |||||||
|  	audsys: clock-controller@11220000 { |  	audsys: clock-controller@11220000 { | ||||||
|  		compatible = "mediatek,mt7623-audsys", |  		compatible = "mediatek,mt7623-audsys", | ||||||
|  			     "mediatek,mt2701-audsys", |  			     "mediatek,mt2701-audsys", | ||||||
| diff --git a/arch/arm/boot/dts/mt7623a.dtsi b/arch/arm/boot/dts/mt7623a.dtsi |  | ||||||
| index 0735a1fb8ad9a..d304b62d24b58 100644 |  | ||||||
| --- a/arch/arm/boot/dts/mt7623a.dtsi | --- a/arch/arm/boot/dts/mt7623a.dtsi | ||||||
| +++ b/arch/arm/boot/dts/mt7623a.dtsi | +++ b/arch/arm/boot/dts/mt7623a.dtsi | ||||||
| @@ -35,6 +35,10 @@ &scpsys { | @@ -35,6 +35,10 @@ | ||||||
|  	clock-names = "ethif"; |  	clock-names = "ethif"; | ||||||
|  }; |  }; | ||||||
|   |   | ||||||
| @@ -71,6 +67,3 @@ index 0735a1fb8ad9a..d304b62d24b58 100644 | |||||||
|  &usb1 { |  &usb1 { | ||||||
|  	power-domains = <&scpsys MT7623A_POWER_DOMAIN_HIF>; |  	power-domains = <&scpsys MT7623A_POWER_DOMAIN_HIF>; | ||||||
|  }; |  }; | ||||||
| --  |  | ||||||
| 2.32.0 |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -836,7 +836,7 @@ | |||||||
|  #include <linux/mtd/partitions.h> |  #include <linux/mtd/partitions.h> | ||||||
|  #include <linux/of_platform.h> |  #include <linux/of_platform.h> | ||||||
|   |   | ||||||
| @@ -608,6 +609,8 @@ static int mtk_snand_probe(struct platfo | @@ -612,6 +613,8 @@ static int mtk_snand_probe(struct platfo | ||||||
|  	mtd->_block_isbad = mtk_snand_mtd_block_isbad; |  	mtd->_block_isbad = mtk_snand_mtd_block_isbad; | ||||||
|  	mtd->_block_markbad = mtk_snand_mtd_block_markbad; |  	mtd->_block_markbad = mtk_snand_mtd_block_markbad; | ||||||
|   |   | ||||||
| @@ -845,7 +845,7 @@ | |||||||
|  	ret = mtd_device_register(mtd, NULL, 0); |  	ret = mtd_device_register(mtd, NULL, 0); | ||||||
|  	if (ret) { |  	if (ret) { | ||||||
|  		dev_err(msm->pdev.dev, "failed to register mtd partition\n"); |  		dev_err(msm->pdev.dev, "failed to register mtd partition\n"); | ||||||
| @@ -619,6 +622,7 @@ static int mtk_snand_probe(struct platfo | @@ -623,6 +626,7 @@ static int mtk_snand_probe(struct platfo | ||||||
|  	return 0; |  	return 0; | ||||||
|   |   | ||||||
|  errout4: |  errout4: | ||||||
| @@ -853,7 +853,7 @@ | |||||||
|  	devm_kfree(msm->pdev.dev, msm->page_cache); |  	devm_kfree(msm->pdev.dev, msm->page_cache); | ||||||
|   |   | ||||||
|  errout3: |  errout3: | ||||||
| @@ -646,6 +650,8 @@ static int mtk_snand_remove(struct platf | @@ -650,6 +654,8 @@ static int mtk_snand_remove(struct platf | ||||||
|  	if (ret) |  	if (ret) | ||||||
|  		return ret; |  		return ret; | ||||||
|   |   | ||||||
|   | |||||||
| @@ -253,7 +253,7 @@ Signed-off-by: chuanjia.liu <Chuanjia.Liu@mediatek.com> | |||||||
|  				#interrupt-cells = <1>; |  				#interrupt-cells = <1>; | ||||||
| --- a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts | --- a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts | ||||||
| +++ b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts | +++ b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts | ||||||
| @@ -296,18 +296,16 @@ | @@ -288,18 +288,16 @@ | ||||||
|  	}; |  	}; | ||||||
|  }; |  }; | ||||||
|   |   | ||||||
| @@ -281,7 +281,7 @@ Signed-off-by: chuanjia.liu <Chuanjia.Liu@mediatek.com> | |||||||
|  &pio { |  &pio { | ||||||
| --- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi | --- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi | ||||||
| +++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi | +++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi | ||||||
| @@ -801,45 +801,41 @@ | @@ -802,45 +802,41 @@ | ||||||
|  		#reset-cells = <1>; |  		#reset-cells = <1>; | ||||||
|  	}; |  	}; | ||||||
|   |   | ||||||
| @@ -344,7 +344,7 @@ Signed-off-by: chuanjia.liu <Chuanjia.Liu@mediatek.com> | |||||||
|  			interrupt-map-mask = <0 0 0 7>; |  			interrupt-map-mask = <0 0 0 7>; | ||||||
|  			interrupt-map = <0 0 0 1 &pcie_intc0 0>, |  			interrupt-map = <0 0 0 1 &pcie_intc0 0>, | ||||||
|  					<0 0 0 2 &pcie_intc0 1>, |  					<0 0 0 2 &pcie_intc0 1>, | ||||||
| @@ -851,15 +847,39 @@ | @@ -852,15 +848,39 @@ | ||||||
|  				#interrupt-cells = <1>; |  				#interrupt-cells = <1>; | ||||||
|  			}; |  			}; | ||||||
|  		}; |  		}; | ||||||
|   | |||||||
| @@ -149,7 +149,7 @@ Signed-off-by: chuanjia.liu <Chuanjia.Liu@mediatek.com> | |||||||
|  &pciephy1 { |  &pciephy1 { | ||||||
| --- a/arch/arm/boot/dts/mt7629.dtsi | --- a/arch/arm/boot/dts/mt7629.dtsi | ||||||
| +++ b/arch/arm/boot/dts/mt7629.dtsi | +++ b/arch/arm/boot/dts/mt7629.dtsi | ||||||
| @@ -382,16 +382,21 @@ | @@ -376,16 +376,21 @@ | ||||||
|  			#reset-cells = <1>; |  			#reset-cells = <1>; | ||||||
|  		}; |  		}; | ||||||
|   |   | ||||||
| @@ -177,7 +177,7 @@ Signed-off-by: chuanjia.liu <Chuanjia.Liu@mediatek.com> | |||||||
|  			clocks = <&pciesys CLK_PCIE_P1_MAC_EN>, |  			clocks = <&pciesys CLK_PCIE_P1_MAC_EN>, | ||||||
|  				 <&pciesys CLK_PCIE_P0_AHB_EN>, |  				 <&pciesys CLK_PCIE_P0_AHB_EN>, | ||||||
|  				 <&pciesys CLK_PCIE_P1_AUX_EN>, |  				 <&pciesys CLK_PCIE_P1_AUX_EN>, | ||||||
| @@ -412,21 +417,19 @@ | @@ -406,21 +411,19 @@ | ||||||
|  			power-domains = <&scpsys MT7622_POWER_DOMAIN_HIF0>; |  			power-domains = <&scpsys MT7622_POWER_DOMAIN_HIF0>; | ||||||
|  			bus-range = <0x00 0xff>; |  			bus-range = <0x00 0xff>; | ||||||
|  			ranges = <0x82000000 0 0x20000000 0x20000000 0 0x10000000>; |  			ranges = <0x82000000 0 0x20000000 0x20000000 0 0x10000000>; | ||||||
|   | |||||||
| @@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|  			interface-type = "ace"; |  			interface-type = "ace"; | ||||||
|  			reg = <0x5000 0x1000>; |  			reg = <0x5000 0x1000>; | ||||||
|  		}; |  		}; | ||||||
| @@ -976,6 +976,8 @@ | @@ -977,6 +977,8 @@ | ||||||
|  		power-domains = <&scpsys MT7622_POWER_DOMAIN_ETHSYS>; |  		power-domains = <&scpsys MT7622_POWER_DOMAIN_ETHSYS>; | ||||||
|  		mediatek,ethsys = <ðsys>; |  		mediatek,ethsys = <ðsys>; | ||||||
|  		mediatek,sgmiisys = <&sgmiisys>; |  		mediatek,sgmiisys = <&sgmiisys>; | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|  |  | ||||||
| --- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi | --- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi | ||||||
| +++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi | +++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi | ||||||
| @@ -812,6 +812,8 @@ | @@ -813,6 +813,8 @@ | ||||||
|  		reg = <0 0x1a143000 0 0x1000>; |  		reg = <0 0x1a143000 0 0x1000>; | ||||||
|  		reg-names = "port0"; |  		reg-names = "port0"; | ||||||
|  		mediatek,pcie-cfg = <&pciecfg>; |  		mediatek,pcie-cfg = <&pciecfg>; | ||||||
| @@ -19,7 +19,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|  		#address-cells = <3>; |  		#address-cells = <3>; | ||||||
|  		#size-cells = <2>; |  		#size-cells = <2>; | ||||||
|  		interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_LOW>; |  		interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_LOW>; | ||||||
| @@ -829,6 +831,7 @@ | @@ -830,6 +832,7 @@ | ||||||
|  		bus-range = <0x00 0xff>; |  		bus-range = <0x00 0xff>; | ||||||
|  		ranges = <0x82000000 0 0x20000000  0x0 0x20000000  0 0x8000000>; |  		ranges = <0x82000000 0 0x20000000  0x0 0x20000000  0 0x8000000>; | ||||||
|  		status = "disabled"; |  		status = "disabled"; | ||||||
| @@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|   |   | ||||||
|  		slot0: pcie@0,0 { |  		slot0: pcie@0,0 { | ||||||
|  			reg = <0x0000 0 0 0 0>; |  			reg = <0x0000 0 0 0 0>; | ||||||
| @@ -855,6 +858,8 @@ | @@ -856,6 +859,8 @@ | ||||||
|  		reg = <0 0x1a145000 0 0x1000>; |  		reg = <0 0x1a145000 0 0x1000>; | ||||||
|  		reg-names = "port1"; |  		reg-names = "port1"; | ||||||
|  		mediatek,pcie-cfg = <&pciecfg>; |  		mediatek,pcie-cfg = <&pciecfg>; | ||||||
| @@ -36,7 +36,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|  		#address-cells = <3>; |  		#address-cells = <3>; | ||||||
|  		#size-cells = <2>; |  		#size-cells = <2>; | ||||||
|  		interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_LOW>; |  		interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_LOW>; | ||||||
| @@ -873,6 +878,7 @@ | @@ -874,6 +879,7 @@ | ||||||
|  		bus-range = <0x00 0xff>; |  		bus-range = <0x00 0xff>; | ||||||
|  		ranges = <0x82000000 0 0x28000000  0x0 0x28000000  0 0x8000000>; |  		ranges = <0x82000000 0 0x28000000  0x0 0x28000000  0 0x8000000>; | ||||||
|  		status = "disabled"; |  		status = "disabled"; | ||||||
| @@ -44,7 +44,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|   |   | ||||||
|  		slot1: pcie@1,0 { |  		slot1: pcie@1,0 { | ||||||
|  			reg = <0x0800 0 0 0 0>; |  			reg = <0x0800 0 0 0 0>; | ||||||
| @@ -932,6 +938,11 @@ | @@ -933,6 +939,11 @@ | ||||||
|  		}; |  		}; | ||||||
|  	}; |  	}; | ||||||
|   |   | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| --- a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts | --- a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts | ||||||
| +++ b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts | +++ b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts | ||||||
| @@ -305,14 +305,14 @@ | @@ -297,14 +297,14 @@ | ||||||
|  &pcie1 { |  &pcie1 { | ||||||
|  	pinctrl-names = "default"; |  	pinctrl-names = "default"; | ||||||
|  	pinctrl-0 = <&pcie1_pins>; |  	pinctrl-0 = <&pcie1_pins>; | ||||||
|   | |||||||
| @@ -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} }, |  | ||||||
		Reference in New Issue
	
	Block a user