kernel: bump 5.4 to 5.4.150
Manually rebased: generic/pending-5.4/800-bcma-get-SoC-device-struct-copy-its-DMA-params-to-th.patch mvebu/patches-5.4/021-arm64-dts-marvell-armada-37xx-Move-PCIe-comphy-handl.patch Removed upstreamed: layerscape/patches-5.4/819-uart-0004-MLK-18137-fsl_lpuart-Fix-loopback-mode.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,10 +6,10 @@ ifdef CONFIG_TESTING_KERNEL
 | 
			
		||||
  KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
LINUX_VERSION-5.4 = .145
 | 
			
		||||
LINUX_VERSION-5.4 = .150
 | 
			
		||||
LINUX_VERSION-5.10 = .70
 | 
			
		||||
 | 
			
		||||
LINUX_KERNEL_HASH-5.4.145 = 5cf7782ec2e91417edf0d5e6555da6d556962c8985e33ba9e7dadba5cbdc68f9
 | 
			
		||||
LINUX_KERNEL_HASH-5.4.150 = f424a9bbb05007f04c17f96a2e4f041a8001554a9060d2c291606e8a97c62aa2
 | 
			
		||||
LINUX_KERNEL_HASH-5.10.70 = 75736c33711d7f298889ee4981b18774882045323e5c46af9ad3b022082db232
 | 
			
		||||
 | 
			
		||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
 | 
			
		||||
 
 | 
			
		||||
@@ -234,7 +234,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
 | 
			
		||||
 static int bcm2708_fb_register(struct bcm2708_fb *fb)
 | 
			
		||||
--- a/drivers/video/fbdev/core/fbmem.c
 | 
			
		||||
+++ b/drivers/video/fbdev/core/fbmem.c
 | 
			
		||||
@@ -1074,6 +1074,30 @@ fb_blank(struct fb_info *info, int blank
 | 
			
		||||
@@ -1080,6 +1080,30 @@ fb_blank(struct fb_info *info, int blank
 | 
			
		||||
 }
 | 
			
		||||
 EXPORT_SYMBOL(fb_blank);
 | 
			
		||||
 
 | 
			
		||||
@@ -265,7 +265,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
 | 
			
		||||
 static long do_fb_ioctl(struct fb_info *info, unsigned int cmd,
 | 
			
		||||
 			unsigned long arg)
 | 
			
		||||
 {
 | 
			
		||||
@@ -1082,6 +1106,7 @@ static long do_fb_ioctl(struct fb_info *
 | 
			
		||||
@@ -1088,6 +1112,7 @@ static long do_fb_ioctl(struct fb_info *
 | 
			
		||||
 	struct fb_fix_screeninfo fix;
 | 
			
		||||
 	struct fb_cmap cmap_from;
 | 
			
		||||
 	struct fb_cmap_user cmap;
 | 
			
		||||
@@ -273,7 +273,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
 | 
			
		||||
 	void __user *argp = (void __user *)arg;
 | 
			
		||||
 	long ret = 0;
 | 
			
		||||
 
 | 
			
		||||
@@ -1157,6 +1182,15 @@ static long do_fb_ioctl(struct fb_info *
 | 
			
		||||
@@ -1163,6 +1188,15 @@ static long do_fb_ioctl(struct fb_info *
 | 
			
		||||
 		unlock_fb_info(info);
 | 
			
		||||
 		console_unlock();
 | 
			
		||||
 		break;
 | 
			
		||||
@@ -289,7 +289,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
 | 
			
		||||
 	default:
 | 
			
		||||
 		lock_fb_info(info);
 | 
			
		||||
 		fb = info->fbops;
 | 
			
		||||
@@ -1302,6 +1336,7 @@ static long fb_compat_ioctl(struct file
 | 
			
		||||
@@ -1308,6 +1342,7 @@ static long fb_compat_ioctl(struct file
 | 
			
		||||
 	case FBIOPAN_DISPLAY:
 | 
			
		||||
 	case FBIOGET_CON2FBMAP:
 | 
			
		||||
 	case FBIOPUT_CON2FBMAP:
 | 
			
		||||
 
 | 
			
		||||
@@ -222,7 +222,7 @@ Signed-off-by: Yaroslav Rosomakho <yaroslavros@gmail.com>
 | 
			
		||||
 static inline int mmc_blk_part_switch(struct mmc_card *card,
 | 
			
		||||
 				      unsigned int part_type);
 | 
			
		||||
 
 | 
			
		||||
@@ -2892,6 +2899,7 @@ static int mmc_blk_probe(struct mmc_card
 | 
			
		||||
@@ -2891,6 +2898,7 @@ static int mmc_blk_probe(struct mmc_card
 | 
			
		||||
 {
 | 
			
		||||
 	struct mmc_blk_data *md, *part_md;
 | 
			
		||||
 	char cap_str[10];
 | 
			
		||||
@@ -230,7 +230,7 @@ Signed-off-by: Yaroslav Rosomakho <yaroslavros@gmail.com>
 | 
			
		||||
 
 | 
			
		||||
 	/*
 | 
			
		||||
 	 * Check that the card supports the command class(es) we need.
 | 
			
		||||
@@ -2899,7 +2907,16 @@ static int mmc_blk_probe(struct mmc_card
 | 
			
		||||
@@ -2898,7 +2906,16 @@ static int mmc_blk_probe(struct mmc_card
 | 
			
		||||
 	if (!(card->csd.cmdclass & CCC_BLOCK_READ))
 | 
			
		||||
 		return -ENODEV;
 | 
			
		||||
 
 | 
			
		||||
@@ -248,7 +248,7 @@ Signed-off-by: Yaroslav Rosomakho <yaroslavros@gmail.com>
 | 
			
		||||
 
 | 
			
		||||
 	card->complete_wq = alloc_workqueue("mmc_complete",
 | 
			
		||||
 					WQ_MEM_RECLAIM | WQ_HIGHPRI, 0);
 | 
			
		||||
@@ -2914,9 +2931,14 @@ static int mmc_blk_probe(struct mmc_card
 | 
			
		||||
@@ -2913,9 +2930,14 @@ static int mmc_blk_probe(struct mmc_card
 | 
			
		||||
 
 | 
			
		||||
 	string_get_size((u64)get_capacity(md->disk), 512, STRING_UNITS_2,
 | 
			
		||||
 			cap_str, sizeof(cap_str));
 | 
			
		||||
 
 | 
			
		||||
@@ -81,7 +81,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
 | 
			
		||||
 extern int usb_driver_set_configuration(struct usb_device *udev, int config);
 | 
			
		||||
--- a/include/linux/usb/hcd.h
 | 
			
		||||
+++ b/include/linux/usb/hcd.h
 | 
			
		||||
@@ -382,6 +382,11 @@ struct hc_driver {
 | 
			
		||||
@@ -384,6 +384,11 @@ struct hc_driver {
 | 
			
		||||
 		 * or bandwidth constraints.
 | 
			
		||||
 		 */
 | 
			
		||||
 	void	(*reset_bandwidth)(struct usb_hcd *, struct usb_device *);
 | 
			
		||||
@@ -93,7 +93,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
 | 
			
		||||
 		/* Returns the hardware-chosen device address */
 | 
			
		||||
 	int	(*address_device)(struct usb_hcd *, struct usb_device *udev);
 | 
			
		||||
 		/* prepares the hardware to send commands to the device */
 | 
			
		||||
@@ -443,6 +448,8 @@ extern void usb_hcd_unmap_urb_setup_for_
 | 
			
		||||
@@ -445,6 +450,8 @@ extern void usb_hcd_unmap_urb_setup_for_
 | 
			
		||||
 extern void usb_hcd_unmap_urb_for_dma(struct usb_hcd *, struct urb *);
 | 
			
		||||
 extern void usb_hcd_flush_endpoint(struct usb_device *udev,
 | 
			
		||||
 		struct usb_host_endpoint *ep);
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
 | 
			
		||||
 | 
			
		||||
--- a/drivers/usb/host/xhci.c
 | 
			
		||||
+++ b/drivers/usb/host/xhci.c
 | 
			
		||||
@@ -1468,6 +1468,103 @@ command_cleanup:
 | 
			
		||||
@@ -1469,6 +1469,103 @@ command_cleanup:
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 /*
 | 
			
		||||
@@ -119,7 +119,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
 | 
			
		||||
  * non-error returns are a promise to giveback() the urb later
 | 
			
		||||
  * we drop ownership so next owner (or urb unlink) can get it
 | 
			
		||||
  */
 | 
			
		||||
@@ -5357,6 +5454,7 @@ static const struct hc_driver xhci_hc_dr
 | 
			
		||||
@@ -5358,6 +5455,7 @@ static const struct hc_driver xhci_hc_dr
 | 
			
		||||
 	.endpoint_reset =	xhci_endpoint_reset,
 | 
			
		||||
 	.check_bandwidth =	xhci_check_bandwidth,
 | 
			
		||||
 	.reset_bandwidth =	xhci_reset_bandwidth,
 | 
			
		||||
 
 | 
			
		||||
@@ -82,7 +82,7 @@ Cc: linux-rockchip@lists.infradead.org
 | 
			
		||||
 
 | 
			
		||||
--- a/drivers/pci/controller/pci-aardvark.c
 | 
			
		||||
+++ b/drivers/pci/controller/pci-aardvark.c
 | 
			
		||||
@@ -1060,7 +1060,8 @@ static int advk_pcie_probe(struct platfo
 | 
			
		||||
@@ -1176,7 +1176,8 @@ static int advk_pcie_probe(struct platfo
 | 
			
		||||
 		return ret;
 | 
			
		||||
 	}
 | 
			
		||||
 
 | 
			
		||||
@@ -249,7 +249,7 @@ Cc: linux-rockchip@lists.infradead.org
 | 
			
		||||
 
 | 
			
		||||
--- a/drivers/pci/controller/pcie-xilinx-nwl.c
 | 
			
		||||
+++ b/drivers/pci/controller/pcie-xilinx-nwl.c
 | 
			
		||||
@@ -845,8 +845,8 @@ static int nwl_pcie_probe(struct platfor
 | 
			
		||||
@@ -857,8 +857,8 @@ static int nwl_pcie_probe(struct platfor
 | 
			
		||||
 		return err;
 | 
			
		||||
 	}
 | 
			
		||||
 
 | 
			
		||||
@@ -402,7 +402,7 @@ Cc: linux-rockchip@lists.infradead.org
 | 
			
		||||
 }
 | 
			
		||||
--- a/include/linux/pci.h
 | 
			
		||||
+++ b/include/linux/pci.h
 | 
			
		||||
@@ -2278,6 +2278,7 @@ struct irq_domain;
 | 
			
		||||
@@ -2279,6 +2279,7 @@ struct irq_domain;
 | 
			
		||||
 struct irq_domain *pci_host_bridge_of_msi_domain(struct pci_bus *bus);
 | 
			
		||||
 int pci_parse_request_of_pci_ranges(struct device *dev,
 | 
			
		||||
 				    struct list_head *resources,
 | 
			
		||||
@@ -410,7 +410,7 @@ Cc: linux-rockchip@lists.infradead.org
 | 
			
		||||
 				    struct resource **bus_range);
 | 
			
		||||
 
 | 
			
		||||
 /* Arch may override this (weak) */
 | 
			
		||||
@@ -2286,9 +2287,11 @@ struct device_node *pcibios_get_phb_of_n
 | 
			
		||||
@@ -2287,9 +2288,11 @@ struct device_node *pcibios_get_phb_of_n
 | 
			
		||||
 #else	/* CONFIG_OF */
 | 
			
		||||
 static inline struct irq_domain *
 | 
			
		||||
 pci_host_bridge_of_msi_domain(struct pci_bus *bus) { return NULL; }
 | 
			
		||||
 
 | 
			
		||||
@@ -26,7 +26,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 | 
			
		||||
 #include <linux/delay.h>
 | 
			
		||||
 #include <linux/export.h>
 | 
			
		||||
 #include <linux/gpio.h>
 | 
			
		||||
@@ -2476,8 +2474,9 @@ int b53_switch_detect(struct b53_device
 | 
			
		||||
@@ -2475,8 +2473,9 @@ int b53_switch_detect(struct b53_device
 | 
			
		||||
 			dev->chip_id = id32;
 | 
			
		||||
 			break;
 | 
			
		||||
 		default:
 | 
			
		||||
@@ -38,7 +38,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 | 
			
		||||
 			return -ENODEV;
 | 
			
		||||
 		}
 | 
			
		||||
 	}
 | 
			
		||||
@@ -2507,7 +2506,8 @@ int b53_switch_register(struct b53_devic
 | 
			
		||||
@@ -2506,7 +2505,8 @@ int b53_switch_register(struct b53_devic
 | 
			
		||||
 	if (ret)
 | 
			
		||||
 		return ret;
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -21,7 +21,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
 | 
			
		||||
 	clocks {
 | 
			
		||||
--- a/drivers/bcma/main.c
 | 
			
		||||
+++ b/drivers/bcma/main.c
 | 
			
		||||
@@ -330,14 +330,6 @@ static int bcma_register_devices(struct
 | 
			
		||||
@@ -328,14 +328,6 @@ static int bcma_register_devices(struct
 | 
			
		||||
 	}
 | 
			
		||||
 #endif
 | 
			
		||||
 
 | 
			
		||||
@@ -36,7 +36,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
 | 
			
		||||
 #ifdef CONFIG_BCMA_NFLASH
 | 
			
		||||
 	if (bus->drv_cc.nflash.present) {
 | 
			
		||||
 		err = platform_device_register(&bcma_nflash_dev);
 | 
			
		||||
@@ -415,6 +407,14 @@ int bcma_bus_register(struct bcma_bus *b
 | 
			
		||||
@@ -413,6 +405,14 @@ int bcma_bus_register(struct bcma_bus *b
 | 
			
		||||
 			bcma_register_core(bus, core);
 | 
			
		||||
 	}
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -43,7 +43,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
 | 
			
		||||
 
 | 
			
		||||
 #include <asm/byteorder.h>
 | 
			
		||||
 #include <asm/irq.h>
 | 
			
		||||
@@ -5558,6 +5562,72 @@ static void fotg210_init(struct fotg210_
 | 
			
		||||
@@ -5555,6 +5559,72 @@ static void fotg210_init(struct fotg210_
 | 
			
		||||
 	iowrite32(value, &fotg210->regs->otgcsr);
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
@@ -116,7 +116,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
 | 
			
		||||
 /**
 | 
			
		||||
  * fotg210_hcd_probe - initialize faraday FOTG210 HCDs
 | 
			
		||||
  *
 | 
			
		||||
@@ -5635,6 +5705,12 @@ static int fotg210_hcd_probe(struct plat
 | 
			
		||||
@@ -5632,6 +5702,12 @@ static int fotg210_hcd_probe(struct plat
 | 
			
		||||
 
 | 
			
		||||
 	fotg210_init(fotg210);
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -130,7 +130,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
 | 
			
		||||
 	/* Some Ethernet drivers try to connect to a PHY device before
 | 
			
		||||
 	 * calling register_netdevice() -> netdev_register_kobject() and
 | 
			
		||||
 	 * does the dev->dev.kobj initialization. Here we only check for
 | 
			
		||||
@@ -2290,6 +2353,9 @@ static int phy_remove(struct device *dev
 | 
			
		||||
@@ -2291,6 +2354,9 @@ static int phy_remove(struct device *dev
 | 
			
		||||
 	phydev->state = PHY_DOWN;
 | 
			
		||||
 	mutex_unlock(&phydev->lock);
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -116,7 +116,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 | 
			
		||||
  * genphy_aneg_done - return auto-negotiation status
 | 
			
		||||
  * @phydev: target phy_device struct
 | 
			
		||||
  *
 | 
			
		||||
@@ -1961,6 +2043,63 @@ int genphy_read_status(struct phy_device
 | 
			
		||||
@@ -1962,6 +2044,63 @@ int genphy_read_status(struct phy_device
 | 
			
		||||
 EXPORT_SYMBOL(genphy_read_status);
 | 
			
		||||
 
 | 
			
		||||
 /**
 | 
			
		||||
 
 | 
			
		||||
@@ -25,7 +25,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 | 
			
		||||
 | 
			
		||||
--- a/net/dsa/slave.c
 | 
			
		||||
+++ b/net/dsa/slave.c
 | 
			
		||||
@@ -1595,7 +1595,9 @@ static void dsa_slave_switchdev_event_wo
 | 
			
		||||
@@ -1593,7 +1593,9 @@ static void dsa_slave_switchdev_event_wo
 | 
			
		||||
 
 | 
			
		||||
 		err = dsa_port_fdb_add(dp, fdb_info->addr, fdb_info->vid);
 | 
			
		||||
 		if (err) {
 | 
			
		||||
@@ -36,7 +36,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 | 
			
		||||
 			break;
 | 
			
		||||
 		}
 | 
			
		||||
 		fdb_info->offloaded = true;
 | 
			
		||||
@@ -1610,9 +1612,11 @@ static void dsa_slave_switchdev_event_wo
 | 
			
		||||
@@ -1608,9 +1610,11 @@ static void dsa_slave_switchdev_event_wo
 | 
			
		||||
 
 | 
			
		||||
 		err = dsa_port_fdb_del(dp, fdb_info->addr, fdb_info->vid);
 | 
			
		||||
 		if (err) {
 | 
			
		||||
 
 | 
			
		||||
@@ -54,7 +54,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 | 
			
		||||
 	struct sk_buff *	(*xmit)(struct sk_buff *skb,
 | 
			
		||||
--- a/net/dsa/slave.c
 | 
			
		||||
+++ b/net/dsa/slave.c
 | 
			
		||||
@@ -1570,76 +1570,66 @@ static int dsa_slave_netdevice_event(str
 | 
			
		||||
@@ -1568,76 +1568,66 @@ static int dsa_slave_netdevice_event(str
 | 
			
		||||
 	return NOTIFY_DONE;
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
@@ -167,7 +167,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 /* Called under rcu_read_lock() */
 | 
			
		||||
@@ -1647,7 +1637,9 @@ static int dsa_slave_switchdev_event(str
 | 
			
		||||
@@ -1645,7 +1635,9 @@ static int dsa_slave_switchdev_event(str
 | 
			
		||||
 				     unsigned long event, void *ptr)
 | 
			
		||||
 {
 | 
			
		||||
 	struct net_device *dev = switchdev_notifier_info_to_dev(ptr);
 | 
			
		||||
@@ -177,7 +177,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 | 
			
		||||
 	int err;
 | 
			
		||||
 
 | 
			
		||||
 	if (event == SWITCHDEV_PORT_ATTR_SET) {
 | 
			
		||||
@@ -1660,20 +1652,32 @@ static int dsa_slave_switchdev_event(str
 | 
			
		||||
@@ -1658,20 +1650,32 @@ static int dsa_slave_switchdev_event(str
 | 
			
		||||
 	if (!dsa_slave_dev_check(dev))
 | 
			
		||||
 		return NOTIFY_DONE;
 | 
			
		||||
 
 | 
			
		||||
@@ -213,7 +213,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 | 
			
		||||
 		dev_hold(dev);
 | 
			
		||||
 		break;
 | 
			
		||||
 	default:
 | 
			
		||||
@@ -1683,10 +1687,6 @@ static int dsa_slave_switchdev_event(str
 | 
			
		||||
@@ -1681,10 +1685,6 @@ static int dsa_slave_switchdev_event(str
 | 
			
		||||
 
 | 
			
		||||
 	dsa_schedule_work(&switchdev_work->work);
 | 
			
		||||
 	return NOTIFY_OK;
 | 
			
		||||
 
 | 
			
		||||
@@ -20,7 +20,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 | 
			
		||||
 | 
			
		||||
--- a/net/dsa/slave.c
 | 
			
		||||
+++ b/net/dsa/slave.c
 | 
			
		||||
@@ -1642,31 +1642,29 @@ static int dsa_slave_switchdev_event(str
 | 
			
		||||
@@ -1640,31 +1640,29 @@ static int dsa_slave_switchdev_event(str
 | 
			
		||||
 	struct dsa_port *dp;
 | 
			
		||||
 	int err;
 | 
			
		||||
 
 | 
			
		||||
@@ -68,7 +68,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 | 
			
		||||
 		fdb_info = ptr;
 | 
			
		||||
 
 | 
			
		||||
 		if (!fdb_info->added_by_user) {
 | 
			
		||||
@@ -1679,13 +1677,12 @@ static int dsa_slave_switchdev_event(str
 | 
			
		||||
@@ -1677,13 +1675,12 @@ static int dsa_slave_switchdev_event(str
 | 
			
		||||
 		switchdev_work->vid = fdb_info->vid;
 | 
			
		||||
 
 | 
			
		||||
 		dev_hold(dev);
 | 
			
		||||
 
 | 
			
		||||
@@ -30,7 +30,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 | 
			
		||||
 | 
			
		||||
--- a/net/dsa/slave.c
 | 
			
		||||
+++ b/net/dsa/slave.c
 | 
			
		||||
@@ -1655,6 +1655,9 @@ static int dsa_slave_switchdev_event(str
 | 
			
		||||
@@ -1653,6 +1653,9 @@ static int dsa_slave_switchdev_event(str
 | 
			
		||||
 
 | 
			
		||||
 		dp = dsa_slave_to_port(dev);
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -172,7 +172,7 @@ Signed-off-by: DENG Qingfang <dqfext@gmail.com>
 | 
			
		||||
 	 */
 | 
			
		||||
--- a/net/dsa/slave.c
 | 
			
		||||
+++ b/net/dsa/slave.c
 | 
			
		||||
@@ -1632,6 +1632,25 @@ static void dsa_slave_switchdev_event_wo
 | 
			
		||||
@@ -1630,6 +1630,25 @@ static void dsa_slave_switchdev_event_wo
 | 
			
		||||
 		dev_put(dp->slave);
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
@@ -198,7 +198,7 @@ Signed-off-by: DENG Qingfang <dqfext@gmail.com>
 | 
			
		||||
 /* Called under rcu_read_lock() */
 | 
			
		||||
 static int dsa_slave_switchdev_event(struct notifier_block *unused,
 | 
			
		||||
 				     unsigned long event, void *ptr)
 | 
			
		||||
@@ -1650,10 +1669,37 @@ static int dsa_slave_switchdev_event(str
 | 
			
		||||
@@ -1648,10 +1667,37 @@ static int dsa_slave_switchdev_event(str
 | 
			
		||||
 		return notifier_from_errno(err);
 | 
			
		||||
 	case SWITCHDEV_FDB_ADD_TO_DEVICE:
 | 
			
		||||
 	case SWITCHDEV_FDB_DEL_TO_DEVICE:
 | 
			
		||||
@@ -239,7 +239,7 @@ Signed-off-by: DENG Qingfang <dqfext@gmail.com>
 | 
			
		||||
 
 | 
			
		||||
 		if (!dp->ds->ops->port_fdb_add || !dp->ds->ops->port_fdb_del)
 | 
			
		||||
 			return NOTIFY_DONE;
 | 
			
		||||
@@ -1668,18 +1714,13 @@ static int dsa_slave_switchdev_event(str
 | 
			
		||||
@@ -1666,18 +1712,13 @@ static int dsa_slave_switchdev_event(str
 | 
			
		||||
 		switchdev_work->port = dp->index;
 | 
			
		||||
 		switchdev_work->event = event;
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -1011,7 +1011,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 | 
			
		||||
 			 "no valid MAC address supplied, using a random one\n");
 | 
			
		||||
--- a/drivers/net/ethernet/renesas/sh_eth.c
 | 
			
		||||
+++ b/drivers/net/ethernet/renesas/sh_eth.c
 | 
			
		||||
@@ -3194,7 +3194,6 @@ static struct sh_eth_plat_data *sh_eth_p
 | 
			
		||||
@@ -3195,7 +3195,6 @@ static struct sh_eth_plat_data *sh_eth_p
 | 
			
		||||
 {
 | 
			
		||||
 	struct device_node *np = dev->of_node;
 | 
			
		||||
 	struct sh_eth_plat_data *pdata;
 | 
			
		||||
@@ -1019,7 +1019,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 | 
			
		||||
 	int ret;
 | 
			
		||||
 
 | 
			
		||||
 	pdata = devm_kzalloc(dev, sizeof(*pdata), GFP_KERNEL);
 | 
			
		||||
@@ -3206,9 +3205,7 @@ static struct sh_eth_plat_data *sh_eth_p
 | 
			
		||||
@@ -3207,9 +3206,7 @@ static struct sh_eth_plat_data *sh_eth_p
 | 
			
		||||
 		return NULL;
 | 
			
		||||
 	pdata->phy_interface = ret;
 | 
			
		||||
 
 | 
			
		||||
@@ -1302,7 +1302,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 | 
			
		||||
 	int irq;
 | 
			
		||||
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
 | 
			
		||||
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
 | 
			
		||||
@@ -4469,7 +4469,7 @@ int stmmac_dvr_probe(struct device *devi
 | 
			
		||||
@@ -4471,7 +4471,7 @@ int stmmac_dvr_probe(struct device *devi
 | 
			
		||||
 	priv->wol_irq = res->wol_irq;
 | 
			
		||||
 	priv->lpi_irq = res->lpi_irq;
 | 
			
		||||
 
 | 
			
		||||
@@ -1450,7 +1450,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 | 
			
		||||
 		of_id = of_match_device(w5100_of_match, &spi->dev);
 | 
			
		||||
--- a/drivers/net/ethernet/wiznet/w5100.c
 | 
			
		||||
+++ b/drivers/net/ethernet/wiznet/w5100.c
 | 
			
		||||
@@ -1157,7 +1157,7 @@ int w5100_probe(struct device *dev, cons
 | 
			
		||||
@@ -1159,7 +1159,7 @@ int w5100_probe(struct device *dev, cons
 | 
			
		||||
 	INIT_WORK(&priv->setrx_work, w5100_setrx_work);
 | 
			
		||||
 	INIT_WORK(&priv->restart_work, w5100_restart_work);
 | 
			
		||||
 
 | 
			
		||||
@@ -1764,7 +1764,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 | 
			
		||||
 			break;
 | 
			
		||||
--- a/net/dsa/slave.c
 | 
			
		||||
+++ b/net/dsa/slave.c
 | 
			
		||||
@@ -1416,7 +1416,7 @@ int dsa_slave_create(struct dsa_port *po
 | 
			
		||||
@@ -1414,7 +1414,7 @@ int dsa_slave_create(struct dsa_port *po
 | 
			
		||||
 	slave_dev->hw_features |= NETIF_F_HW_TC;
 | 
			
		||||
 	slave_dev->features |= NETIF_F_LLTX;
 | 
			
		||||
 	slave_dev->ethtool_ops = &dsa_slave_ethtool_ops;
 | 
			
		||||
 
 | 
			
		||||
@@ -31,7 +31,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
 | 
			
		||||
 	select OF_EARLY_FLATTREE if OF
 | 
			
		||||
--- a/arch/arm/boot/compressed/Makefile
 | 
			
		||||
+++ b/arch/arm/boot/compressed/Makefile
 | 
			
		||||
@@ -106,6 +106,7 @@ ifeq ($(CONFIG_FUNCTION_TRACER),y)
 | 
			
		||||
@@ -108,6 +108,7 @@ ifeq ($(CONFIG_FUNCTION_TRACER),y)
 | 
			
		||||
 ORIG_CFLAGS := $(KBUILD_CFLAGS)
 | 
			
		||||
 KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS))
 | 
			
		||||
 endif
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 | 
			
		||||
--- a/net/sched/sch_fq_codel.c
 | 
			
		||||
+++ b/net/sched/sch_fq_codel.c
 | 
			
		||||
@@ -462,7 +462,11 @@ static int fq_codel_init(struct Qdisc *s
 | 
			
		||||
@@ -470,7 +470,11 @@ static int fq_codel_init(struct Qdisc *s
 | 
			
		||||
 
 | 
			
		||||
 	sch->limit = 10*1024;
 | 
			
		||||
 	q->flows_cnt = 1024;
 | 
			
		||||
 
 | 
			
		||||
@@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 	register_qdisc(&pfifo_head_drop_qdisc_ops);
 | 
			
		||||
--- a/net/sched/sch_fq_codel.c
 | 
			
		||||
+++ b/net/sched/sch_fq_codel.c
 | 
			
		||||
@@ -702,7 +702,7 @@ static const struct Qdisc_class_ops fq_c
 | 
			
		||||
@@ -710,7 +710,7 @@ static const struct Qdisc_class_ops fq_c
 | 
			
		||||
 	.walk		=	fq_codel_walk,
 | 
			
		||||
 };
 | 
			
		||||
 
 | 
			
		||||
@@ -64,7 +64,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 	.cl_ops		=	&fq_codel_class_ops,
 | 
			
		||||
 	.id		=	"fq_codel",
 | 
			
		||||
 	.priv_size	=	sizeof(struct fq_codel_sched_data),
 | 
			
		||||
@@ -717,6 +717,7 @@ static struct Qdisc_ops fq_codel_qdisc_o
 | 
			
		||||
@@ -725,6 +725,7 @@ static struct Qdisc_ops fq_codel_qdisc_o
 | 
			
		||||
 	.dump_stats =	fq_codel_dump_stats,
 | 
			
		||||
 	.owner		=	THIS_MODULE,
 | 
			
		||||
 };
 | 
			
		||||
 
 | 
			
		||||
@@ -54,7 +54,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
+MODULE_LICENSE("GPL");
 | 
			
		||||
--- a/kernel/sched/core.c
 | 
			
		||||
+++ b/kernel/sched/core.c
 | 
			
		||||
@@ -2754,6 +2754,7 @@ int wake_up_state(struct task_struct *p,
 | 
			
		||||
@@ -2767,6 +2767,7 @@ int wake_up_state(struct task_struct *p,
 | 
			
		||||
 {
 | 
			
		||||
 	return try_to_wake_up(p, state, 0);
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
@@ -157,7 +157,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 | 
			
		||||
 	case RTN_THROW:
 | 
			
		||||
 	case RTN_UNREACHABLE:
 | 
			
		||||
 	default:
 | 
			
		||||
@@ -4423,6 +4442,17 @@ static int ip6_pkt_prohibit_out(struct n
 | 
			
		||||
@@ -4426,6 +4445,17 @@ static int ip6_pkt_prohibit_out(struct n
 | 
			
		||||
 	return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
@@ -175,7 +175,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 | 
			
		||||
 /*
 | 
			
		||||
  *	Allocate a dst for local (unicast / anycast) address.
 | 
			
		||||
  */
 | 
			
		||||
@@ -4903,7 +4933,8 @@ static int rtm_to_fib6_config(struct sk_
 | 
			
		||||
@@ -4906,7 +4936,8 @@ static int rtm_to_fib6_config(struct sk_
 | 
			
		||||
 	if (rtm->rtm_type == RTN_UNREACHABLE ||
 | 
			
		||||
 	    rtm->rtm_type == RTN_BLACKHOLE ||
 | 
			
		||||
 	    rtm->rtm_type == RTN_PROHIBIT ||
 | 
			
		||||
@@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 | 
			
		||||
 		cfg->fc_flags |= RTF_REJECT;
 | 
			
		||||
 
 | 
			
		||||
 	if (rtm->rtm_type == RTN_LOCAL)
 | 
			
		||||
@@ -6025,6 +6056,8 @@ static int ip6_route_dev_notify(struct n
 | 
			
		||||
@@ -6028,6 +6059,8 @@ static int ip6_route_dev_notify(struct n
 | 
			
		||||
 #ifdef CONFIG_IPV6_MULTIPLE_TABLES
 | 
			
		||||
 		net->ipv6.ip6_prohibit_entry->dst.dev = dev;
 | 
			
		||||
 		net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
 | 
			
		||||
@@ -194,7 +194,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 | 
			
		||||
 		net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
 | 
			
		||||
 		net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
 | 
			
		||||
 #endif
 | 
			
		||||
@@ -6036,6 +6069,7 @@ static int ip6_route_dev_notify(struct n
 | 
			
		||||
@@ -6039,6 +6072,7 @@ static int ip6_route_dev_notify(struct n
 | 
			
		||||
 		in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev);
 | 
			
		||||
 #ifdef CONFIG_IPV6_MULTIPLE_TABLES
 | 
			
		||||
 		in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev);
 | 
			
		||||
@@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 | 
			
		||||
 		in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev);
 | 
			
		||||
 #endif
 | 
			
		||||
 	}
 | 
			
		||||
@@ -6228,6 +6262,8 @@ static int __net_init ip6_route_net_init
 | 
			
		||||
@@ -6231,6 +6265,8 @@ static int __net_init ip6_route_net_init
 | 
			
		||||
 
 | 
			
		||||
 #ifdef CONFIG_IPV6_MULTIPLE_TABLES
 | 
			
		||||
 	net->ipv6.fib6_has_custom_rules = false;
 | 
			
		||||
@@ -211,7 +211,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 | 
			
		||||
 	net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template,
 | 
			
		||||
 					       sizeof(*net->ipv6.ip6_prohibit_entry),
 | 
			
		||||
 					       GFP_KERNEL);
 | 
			
		||||
@@ -6238,11 +6274,21 @@ static int __net_init ip6_route_net_init
 | 
			
		||||
@@ -6241,11 +6277,21 @@ static int __net_init ip6_route_net_init
 | 
			
		||||
 			 ip6_template_metrics, true);
 | 
			
		||||
 	INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->rt6i_uncached);
 | 
			
		||||
 
 | 
			
		||||
@@ -234,7 +234,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 | 
			
		||||
 	net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
 | 
			
		||||
 	dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
 | 
			
		||||
 			 ip6_template_metrics, true);
 | 
			
		||||
@@ -6266,6 +6312,8 @@ out:
 | 
			
		||||
@@ -6269,6 +6315,8 @@ out:
 | 
			
		||||
 	return ret;
 | 
			
		||||
 
 | 
			
		||||
 #ifdef CONFIG_IPV6_MULTIPLE_TABLES
 | 
			
		||||
@@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 | 
			
		||||
 out_ip6_prohibit_entry:
 | 
			
		||||
 	kfree(net->ipv6.ip6_prohibit_entry);
 | 
			
		||||
 out_ip6_null_entry:
 | 
			
		||||
@@ -6285,6 +6333,7 @@ static void __net_exit ip6_route_net_exi
 | 
			
		||||
@@ -6288,6 +6336,7 @@ static void __net_exit ip6_route_net_exi
 | 
			
		||||
 	kfree(net->ipv6.ip6_null_entry);
 | 
			
		||||
 #ifdef CONFIG_IPV6_MULTIPLE_TABLES
 | 
			
		||||
 	kfree(net->ipv6.ip6_prohibit_entry);
 | 
			
		||||
@@ -251,7 +251,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 | 
			
		||||
 	kfree(net->ipv6.ip6_blk_hole_entry);
 | 
			
		||||
 #endif
 | 
			
		||||
 	dst_entries_destroy(&net->ipv6.ip6_dst_ops);
 | 
			
		||||
@@ -6362,6 +6411,9 @@ void __init ip6_route_init_special_entri
 | 
			
		||||
@@ -6365,6 +6414,9 @@ void __init ip6_route_init_special_entri
 | 
			
		||||
 	init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
 | 
			
		||||
 	init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
 | 
			
		||||
 	init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
 | 
			
		||||
 
 | 
			
		||||
@@ -18,7 +18,7 @@ Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
 | 
			
		||||
 | 
			
		||||
--- a/net/dsa/slave.c
 | 
			
		||||
+++ b/net/dsa/slave.c
 | 
			
		||||
@@ -1700,10 +1700,12 @@ static int dsa_slave_switchdev_event(str
 | 
			
		||||
@@ -1698,10 +1698,12 @@ static int dsa_slave_switchdev_event(str
 | 
			
		||||
 		fdb_info = ptr;
 | 
			
		||||
 
 | 
			
		||||
 		if (dsa_slave_dev_check(dev)) {
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
 | 
			
		||||
 | 
			
		||||
--- a/net/dsa/slave.c
 | 
			
		||||
+++ b/net/dsa/slave.c
 | 
			
		||||
@@ -1714,7 +1714,11 @@ static int dsa_slave_switchdev_event(str
 | 
			
		||||
@@ -1712,7 +1712,11 @@ static int dsa_slave_switchdev_event(str
 | 
			
		||||
 			struct net_device *br_dev;
 | 
			
		||||
 			struct dsa_slave_priv *p;
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -28,7 +28,7 @@ Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
 | 
			
		||||
 | 
			
		||||
--- a/net/dsa/slave.c
 | 
			
		||||
+++ b/net/dsa/slave.c
 | 
			
		||||
@@ -1707,9 +1707,12 @@ static int dsa_slave_switchdev_event(str
 | 
			
		||||
@@ -1705,9 +1705,12 @@ static int dsa_slave_switchdev_event(str
 | 
			
		||||
 			else if (!fdb_info->added_by_user)
 | 
			
		||||
 				return NOTIFY_OK;
 | 
			
		||||
 		} else {
 | 
			
		||||
@@ -44,7 +44,7 @@ Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
 | 
			
		||||
 			 */
 | 
			
		||||
 			struct net_device *br_dev;
 | 
			
		||||
 			struct dsa_slave_priv *p;
 | 
			
		||||
@@ -1731,7 +1734,8 @@ static int dsa_slave_switchdev_event(str
 | 
			
		||||
@@ -1729,7 +1732,8 @@ static int dsa_slave_switchdev_event(str
 | 
			
		||||
 
 | 
			
		||||
 			dp = p->dp->cpu_dp;
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -50,20 +50,14 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
 | 
			
		||||
 	if (err)
 | 
			
		||||
--- a/drivers/bcma/main.c
 | 
			
		||||
+++ b/drivers/bcma/main.c
 | 
			
		||||
@@ -236,12 +236,16 @@ EXPORT_SYMBOL(bcma_core_irq);
 | 
			
		||||
 
 | 
			
		||||
 void bcma_prepare_core(struct bcma_bus *bus, struct bcma_device *core)
 | 
			
		||||
 {
 | 
			
		||||
+	struct device *dev = &core->dev;
 | 
			
		||||
+
 | 
			
		||||
 	core->dev.release = bcma_release_core_dev;
 | 
			
		||||
@@ -241,8 +241,10 @@ void bcma_prepare_core(struct bcma_bus *
 | 
			
		||||
 	core->dev.bus = &bcma_bus_type;
 | 
			
		||||
 	dev_set_name(&core->dev, "bcma%d:%d", bus->num, core->core_index);
 | 
			
		||||
 	core->dev.parent = bus->dev;
 | 
			
		||||
-	if (bus->dev)
 | 
			
		||||
+	if (bus->dev) {
 | 
			
		||||
 		bcma_of_fill_device(bus->dev, core);
 | 
			
		||||
+		dma_coerce_mask_and_coherent(dev, bus->dev->coherent_dma_mask);
 | 
			
		||||
+		dma_coerce_mask_and_coherent(&core->dev, bus->dev->coherent_dma_mask);
 | 
			
		||||
+	}
 | 
			
		||||
 
 | 
			
		||||
 	switch (bus->hosttype) {
 | 
			
		||||
 
 | 
			
		||||
@@ -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"
 | 
			
		||||
@@ -3322,6 +3323,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
 | 
			
		||||
@@ -3323,6 +3324,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
 | 
			
		||||
@@ -3347,6 +3350,8 @@ static void quirk_intel_ntb(struct pci_d
 | 
			
		||||
@@ -3348,6 +3351,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
 | 
			
		||||
@@ -3385,6 +3390,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
 | 
			
		||||
@@ -3386,6 +3391,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);
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -98,7 +98,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 #endif  /*  __LINUX_USB_PCI_QUIRKS_H  */
 | 
			
		||||
--- a/include/linux/usb/hcd.h
 | 
			
		||||
+++ b/include/linux/usb/hcd.h
 | 
			
		||||
@@ -483,7 +483,14 @@ extern int usb_hcd_pci_probe(struct pci_
 | 
			
		||||
@@ -485,7 +485,14 @@ extern int usb_hcd_pci_probe(struct pci_
 | 
			
		||||
 extern void usb_hcd_pci_remove(struct pci_dev *dev);
 | 
			
		||||
 extern void usb_hcd_pci_shutdown(struct pci_dev *dev);
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -65,7 +65,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 | 
			
		||||
 /**
 | 
			
		||||
  *	ata_build_rw_tf - Build ATA taskfile for given read/write request
 | 
			
		||||
  *	@tf: Target ATA taskfile
 | 
			
		||||
@@ -5117,6 +5130,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
 | 
			
		||||
@@ -5121,6 +5134,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
 | 
			
		||||
 		if (tag < 0)
 | 
			
		||||
 			return NULL;
 | 
			
		||||
 	}
 | 
			
		||||
@@ -75,7 +75,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 | 
			
		||||
 
 | 
			
		||||
 	qc = __ata_qc_from_tag(ap, tag);
 | 
			
		||||
 	qc->tag = qc->hw_tag = tag;
 | 
			
		||||
@@ -6053,6 +6069,9 @@ struct ata_port *ata_port_alloc(struct a
 | 
			
		||||
@@ -6057,6 +6073,9 @@ struct ata_port *ata_port_alloc(struct a
 | 
			
		||||
 	ap->stats.unhandled_irq = 1;
 | 
			
		||||
 	ap->stats.idle_irq = 1;
 | 
			
		||||
 #endif
 | 
			
		||||
@@ -85,7 +85,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 | 
			
		||||
 	ata_sff_port_init(ap);
 | 
			
		||||
 
 | 
			
		||||
 	return ap;
 | 
			
		||||
@@ -6088,6 +6107,12 @@ static void ata_host_release(struct kref
 | 
			
		||||
@@ -6092,6 +6111,12 @@ static void ata_host_release(struct kref
 | 
			
		||||
 
 | 
			
		||||
 		kfree(ap->pmp_link);
 | 
			
		||||
 		kfree(ap->slave_link);
 | 
			
		||||
@@ -98,7 +98,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 | 
			
		||||
 		kfree(ap);
 | 
			
		||||
 		host->ports[i] = NULL;
 | 
			
		||||
 	}
 | 
			
		||||
@@ -6551,7 +6576,23 @@ int ata_host_register(struct ata_host *h
 | 
			
		||||
@@ -6555,7 +6580,23 @@ int ata_host_register(struct ata_host *h
 | 
			
		||||
 		host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
 | 
			
		||||
 		host->ports[i]->local_port_no = i + 1;
 | 
			
		||||
 	}
 | 
			
		||||
 
 | 
			
		||||
@@ -63,7 +63,7 @@
 | 
			
		||||
 
 | 
			
		||||
 	val = stmmac_get_platform_resources(pdev, &stmmac_res);
 | 
			
		||||
 	if (val)
 | 
			
		||||
@@ -345,6 +387,17 @@ static int ipq806x_gmac_probe(struct pla
 | 
			
		||||
@@ -338,6 +380,17 @@ static int ipq806x_gmac_probe(struct pla
 | 
			
		||||
 			     0x1ul << QSGMII_PHY_RX_INPUT_EQU_OFFSET |
 | 
			
		||||
 			     0x2ul << QSGMII_PHY_CDR_PI_SLEW_OFFSET |
 | 
			
		||||
 			     0xCul << QSGMII_PHY_TX_DRV_AMP_OFFSET);
 | 
			
		||||
 
 | 
			
		||||
@@ -267,7 +267,7 @@ Date:   Fri May 5 17:53:27 2017 +0800
 | 
			
		||||
+};
 | 
			
		||||
--- a/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts
 | 
			
		||||
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts
 | 
			
		||||
@@ -100,6 +100,7 @@
 | 
			
		||||
@@ -95,6 +95,7 @@
 | 
			
		||||
 
 | 
			
		||||
 &qspi {
 | 
			
		||||
 	status = "okay";
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,7 @@ Signed-off-by: Pramod Kumar <pramod.kumar_1@nxp.com>
 | 
			
		||||
 | 
			
		||||
--- a/arch/arm64/boot/dts/freescale/fsl-ls1046a-frwy.dts
 | 
			
		||||
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a-frwy.dts
 | 
			
		||||
@@ -112,6 +112,23 @@
 | 
			
		||||
@@ -106,6 +106,23 @@
 | 
			
		||||
 
 | 
			
		||||
 };
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -35,7 +35,7 @@ Signed-off-by: Pankaj Bansal <pankaj.bansal@nxp.com>
 | 
			
		||||
  *
 | 
			
		||||
  * Mingkai Hu <mingkai.hu@nxp.com>
 | 
			
		||||
  */
 | 
			
		||||
@@ -106,7 +107,7 @@
 | 
			
		||||
@@ -101,7 +102,7 @@
 | 
			
		||||
 		compatible = "spansion,m25p80";
 | 
			
		||||
 		#address-cells = <1>;
 | 
			
		||||
 		#size-cells = <1>;
 | 
			
		||||
@@ -44,7 +44,7 @@ Signed-off-by: Pankaj Bansal <pankaj.bansal@nxp.com>
 | 
			
		||||
 		spi-rx-bus-width = <4>;
 | 
			
		||||
 		spi-tx-bus-width = <4>;
 | 
			
		||||
 		reg = <0>;
 | 
			
		||||
@@ -116,7 +117,7 @@
 | 
			
		||||
@@ -111,7 +112,7 @@
 | 
			
		||||
 		compatible = "spansion,m25p80";
 | 
			
		||||
 		#address-cells = <1>;
 | 
			
		||||
 		#size-cells = <1>;
 | 
			
		||||
 
 | 
			
		||||
@@ -16,7 +16,7 @@ Signed-off-by: Kuldeep Singh <kuldeep.singh@nxp.com>
 | 
			
		||||
 | 
			
		||||
--- a/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts
 | 
			
		||||
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts
 | 
			
		||||
@@ -105,25 +105,24 @@
 | 
			
		||||
@@ -100,25 +100,24 @@
 | 
			
		||||
 
 | 
			
		||||
 &qspi {
 | 
			
		||||
 	status = "okay";
 | 
			
		||||
 
 | 
			
		||||
@@ -57,7 +57,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 | 
			
		||||
 fsl-enetc-mdio-y := enetc_pci_mdio.o enetc_mdio.o
 | 
			
		||||
--- a/drivers/net/ethernet/freescale/enetc/enetc.c
 | 
			
		||||
+++ b/drivers/net/ethernet/freescale/enetc/enetc.c
 | 
			
		||||
@@ -1422,8 +1422,7 @@ int enetc_close(struct net_device *ndev)
 | 
			
		||||
@@ -1419,8 +1419,7 @@ int enetc_close(struct net_device *ndev)
 | 
			
		||||
 	return 0;
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
@@ -67,7 +67,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 | 
			
		||||
 {
 | 
			
		||||
 	struct enetc_ndev_priv *priv = netdev_priv(ndev);
 | 
			
		||||
 	struct tc_mqprio_qopt *mqprio = type_data;
 | 
			
		||||
@@ -1431,9 +1430,6 @@ int enetc_setup_tc(struct net_device *nd
 | 
			
		||||
@@ -1428,9 +1427,6 @@ int enetc_setup_tc(struct net_device *nd
 | 
			
		||||
 	u8 num_tc;
 | 
			
		||||
 	int i;
 | 
			
		||||
 
 | 
			
		||||
@@ -77,7 +77,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 | 
			
		||||
 	mqprio->hw = TC_MQPRIO_HW_OFFLOAD_TCS;
 | 
			
		||||
 	num_tc = mqprio->num_tc;
 | 
			
		||||
 
 | 
			
		||||
@@ -1478,6 +1474,19 @@ int enetc_setup_tc(struct net_device *nd
 | 
			
		||||
@@ -1475,6 +1471,19 @@ int enetc_setup_tc(struct net_device *nd
 | 
			
		||||
 	return 0;
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 static int enetc_dma_alloc_bdr(struct enetc_bdr *r, size_t bd_size)
 | 
			
		||||
@@ -1309,8 +1314,12 @@ static void enetc_disable_interrupts(str
 | 
			
		||||
@@ -1306,8 +1311,12 @@ static void enetc_disable_interrupts(str
 | 
			
		||||
 
 | 
			
		||||
 static void adjust_link(struct net_device *ndev)
 | 
			
		||||
 {
 | 
			
		||||
 
 | 
			
		||||
@@ -47,7 +47,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 | 
			
		||||
+	  taprio(802.1Qbv) and Credit Based Shaper(802.1Qbu).
 | 
			
		||||
--- a/drivers/net/ethernet/freescale/enetc/enetc.c
 | 
			
		||||
+++ b/drivers/net/ethernet/freescale/enetc/enetc.c
 | 
			
		||||
@@ -1519,6 +1519,8 @@ int enetc_setup_tc(struct net_device *nd
 | 
			
		||||
@@ -1516,6 +1516,8 @@ int enetc_setup_tc(struct net_device *nd
 | 
			
		||||
 		return enetc_setup_tc_mqprio(ndev, type_data);
 | 
			
		||||
 	case TC_SETUP_QDISC_TAPRIO:
 | 
			
		||||
 		return enetc_setup_tc_taprio(ndev, type_data);
 | 
			
		||||
 
 | 
			
		||||
@@ -17,7 +17,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 | 
			
		||||
 | 
			
		||||
--- a/drivers/net/ethernet/freescale/enetc/enetc.c
 | 
			
		||||
+++ b/drivers/net/ethernet/freescale/enetc/enetc.c
 | 
			
		||||
@@ -1364,6 +1364,7 @@ static int enetc_phy_connect(struct net_
 | 
			
		||||
@@ -1361,6 +1361,7 @@ static int enetc_phy_connect(struct net_
 | 
			
		||||
 {
 | 
			
		||||
 	struct enetc_ndev_priv *priv = netdev_priv(ndev);
 | 
			
		||||
 	struct phy_device *phydev;
 | 
			
		||||
@@ -25,7 +25,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 | 
			
		||||
 
 | 
			
		||||
 	if (!priv->phy_node)
 | 
			
		||||
 		return 0; /* phy-less mode */
 | 
			
		||||
@@ -1377,6 +1378,10 @@ static int enetc_phy_connect(struct net_
 | 
			
		||||
@@ -1374,6 +1375,10 @@ static int enetc_phy_connect(struct net_
 | 
			
		||||
 
 | 
			
		||||
 	phy_attached_info(phydev);
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -16,7 +16,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 | 
			
		||||
 | 
			
		||||
--- a/drivers/net/ethernet/freescale/enetc/enetc.c
 | 
			
		||||
+++ b/drivers/net/ethernet/freescale/enetc/enetc.c
 | 
			
		||||
@@ -1656,7 +1656,10 @@ int enetc_ioctl(struct net_device *ndev,
 | 
			
		||||
@@ -1653,7 +1653,10 @@ int enetc_ioctl(struct net_device *ndev,
 | 
			
		||||
 	if (cmd == SIOCGHWTSTAMP)
 | 
			
		||||
 		return enetc_hwtstamp_get(ndev, rq);
 | 
			
		||||
 #endif
 | 
			
		||||
 
 | 
			
		||||
@@ -229,7 +229,7 @@ Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
 | 
			
		||||
 	 * fall back to INTx or other interrupts, e.g., a system shared
 | 
			
		||||
--- a/include/linux/pci.h
 | 
			
		||||
+++ b/include/linux/pci.h
 | 
			
		||||
@@ -2021,6 +2021,7 @@ static inline void pcibios_penalize_isa_
 | 
			
		||||
@@ -2022,6 +2022,7 @@ static inline void pcibios_penalize_isa_
 | 
			
		||||
 int pcibios_alloc_irq(struct pci_dev *dev);
 | 
			
		||||
 void pcibios_free_irq(struct pci_dev *dev);
 | 
			
		||||
 resource_size_t pcibios_default_alignment(void);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,28 +0,0 @@
 | 
			
		||||
From 392865cdcca83fbc9624725e505feb31dda7e67a Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Andy Duan <fugang.duan@nxp.com>
 | 
			
		||||
Date: Mon, 28 Jan 2019 14:29:14 +0800
 | 
			
		||||
Subject: [PATCH] MLK-18137: fsl_lpuart: Fix loopback mode
 | 
			
		||||
 | 
			
		||||
Register offset needs to be applied on mapbase also.
 | 
			
		||||
dma_tx/rx_request use the physical address of UARTDATA.
 | 
			
		||||
Register offset is currently only applied to membase (the
 | 
			
		||||
corresponding virtual addr) but not on mapbase.
 | 
			
		||||
 | 
			
		||||
Reviewed-by: Leonard Crestez <leonard.crestez@nxp.com>
 | 
			
		||||
Acked-by: Fugang Duan <fugang.duan@nxp.com>
 | 
			
		||||
Signed-off-by: Adriana Reus <adriana.reus@nxp.com>
 | 
			
		||||
---
 | 
			
		||||
 drivers/tty/serial/fsl_lpuart.c | 2 +-
 | 
			
		||||
 1 file changed, 1 insertion(+), 1 deletion(-)
 | 
			
		||||
 | 
			
		||||
--- a/drivers/tty/serial/fsl_lpuart.c
 | 
			
		||||
+++ b/drivers/tty/serial/fsl_lpuart.c
 | 
			
		||||
@@ -2479,7 +2479,7 @@ static int lpuart_probe(struct platform_
 | 
			
		||||
 		return PTR_ERR(sport->port.membase);
 | 
			
		||||
 
 | 
			
		||||
 	sport->port.membase += sdata->reg_off;
 | 
			
		||||
-	sport->port.mapbase = res->start;
 | 
			
		||||
+	sport->port.mapbase = res->start + sdata->reg_off;
 | 
			
		||||
 	sport->port.dev = &pdev->dev;
 | 
			
		||||
 	sport->port.type = PORT_LPUART;
 | 
			
		||||
 	sport->devtype = sdata->devtype;
 | 
			
		||||
@@ -335,7 +335,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
 | 
			
		||||
 	int             is_setup
 | 
			
		||||
--- a/include/linux/usb/hcd.h
 | 
			
		||||
+++ b/include/linux/usb/hcd.h
 | 
			
		||||
@@ -409,7 +409,10 @@ struct hc_driver {
 | 
			
		||||
@@ -411,7 +411,10 @@ struct hc_driver {
 | 
			
		||||
 	int	(*find_raw_port_number)(struct usb_hcd *, int);
 | 
			
		||||
 	/* Call for power on/off the port if necessary */
 | 
			
		||||
 	int	(*port_power)(struct usb_hcd *hcd, int portnum, bool enable);
 | 
			
		||||
@@ -347,7 +347,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
 | 
			
		||||
 };
 | 
			
		||||
 
 | 
			
		||||
 static inline int hcd_giveback_urb_in_bh(struct usb_hcd *hcd)
 | 
			
		||||
@@ -474,6 +477,14 @@ int usb_hcd_setup_local_mem(struct usb_h
 | 
			
		||||
@@ -476,6 +479,14 @@ int usb_hcd_setup_local_mem(struct usb_h
 | 
			
		||||
 
 | 
			
		||||
 struct platform_device;
 | 
			
		||||
 extern void usb_hcd_platform_shutdown(struct platform_device *dev);
 | 
			
		||||
 
 | 
			
		||||
@@ -174,7 +174,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
 | 
			
		||||
  * bursts that are required to move all packets in this TD.  Only SuperSpeed
 | 
			
		||||
--- a/drivers/usb/host/xhci.c
 | 
			
		||||
+++ b/drivers/usb/host/xhci.c
 | 
			
		||||
@@ -5384,6 +5384,7 @@ static const struct hc_driver xhci_hc_dr
 | 
			
		||||
@@ -5385,6 +5385,7 @@ static const struct hc_driver xhci_hc_dr
 | 
			
		||||
 	.disable_usb3_lpm_timeout =	xhci_disable_usb3_lpm_timeout,
 | 
			
		||||
 	.find_raw_port_number =	xhci_find_raw_port_number,
 | 
			
		||||
 	.clear_tt_buffer_complete = xhci_clear_tt_buffer_complete,
 | 
			
		||||
 
 | 
			
		||||
@@ -24,7 +24,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
 | 
			
		||||
 | 
			
		||||
--- a/drivers/usb/host/xhci.c
 | 
			
		||||
+++ b/drivers/usb/host/xhci.c
 | 
			
		||||
@@ -5405,6 +5405,8 @@ void xhci_init_driver(struct hc_driver *
 | 
			
		||||
@@ -5406,6 +5406,8 @@ void xhci_init_driver(struct hc_driver *
 | 
			
		||||
 			drv->check_bandwidth = over->check_bandwidth;
 | 
			
		||||
 		if (over->reset_bandwidth)
 | 
			
		||||
 			drv->reset_bandwidth = over->reset_bandwidth;
 | 
			
		||||
 
 | 
			
		||||
@@ -28,7 +28,7 @@ Signed-off-by: Diana Craciun <diana.craciun@nxp.com>
 | 
			
		||||
 | 
			
		||||
--- a/drivers/vfio/Kconfig
 | 
			
		||||
+++ b/drivers/vfio/Kconfig
 | 
			
		||||
@@ -47,4 +47,5 @@ menuconfig VFIO_NOIOMMU
 | 
			
		||||
@@ -47,4 +47,5 @@ config VFIO_NOIOMMU
 | 
			
		||||
 source "drivers/vfio/pci/Kconfig"
 | 
			
		||||
 source "drivers/vfio/platform/Kconfig"
 | 
			
		||||
 source "drivers/vfio/mdev/Kconfig"
 | 
			
		||||
 
 | 
			
		||||
@@ -33,7 +33,7 @@ Acked-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
 | 
			
		||||
 | 
			
		||||
--- a/drivers/pci/controller/pci-aardvark.c
 | 
			
		||||
+++ b/drivers/pci/controller/pci-aardvark.c
 | 
			
		||||
@@ -349,6 +349,14 @@ static void advk_pcie_setup_hw(struct ad
 | 
			
		||||
@@ -353,6 +353,14 @@ static void advk_pcie_setup_hw(struct ad
 | 
			
		||||
 	reg |= PIO_CTRL_ADDR_WIN_DISABLE;
 | 
			
		||||
 	advk_writel(pcie, reg, PIO_CTRL);
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -29,7 +29,7 @@ Acked-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
 | 
			
		||||
 | 
			
		||||
--- a/drivers/pci/controller/pci-aardvark.c
 | 
			
		||||
+++ b/drivers/pci/controller/pci-aardvark.c
 | 
			
		||||
@@ -311,11 +311,6 @@ static void advk_pcie_setup_hw(struct ad
 | 
			
		||||
@@ -315,11 +315,6 @@ static void advk_pcie_setup_hw(struct ad
 | 
			
		||||
 	reg |= LANE_COUNT_1;
 | 
			
		||||
 	advk_writel(pcie, reg, PCIE_CORE_CTRL0_REG);
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,7 @@ Acked-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
 | 
			
		||||
 	/* Enable MSI */
 | 
			
		||||
 	reg = advk_readl(pcie, PCIE_CORE_CTRL2_REG);
 | 
			
		||||
 	reg |= PCIE_CORE_CTRL2_MSI_ENABLE;
 | 
			
		||||
@@ -357,7 +352,15 @@ static void advk_pcie_setup_hw(struct ad
 | 
			
		||||
@@ -361,7 +356,15 @@ static void advk_pcie_setup_hw(struct ad
 | 
			
		||||
 	 */
 | 
			
		||||
 	msleep(PCI_PM_D3COLD_WAIT);
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,7 @@ Acked-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
 | 
			
		||||
 #define     PCIE_CORE_LINK_WIDTH_SHIFT				20
 | 
			
		||||
 #define PCIE_CORE_ERR_CAPCTL_REG				0x118
 | 
			
		||||
 #define     PCIE_CORE_ERR_CAPCTL_ECRC_CHK_TX			BIT(5)
 | 
			
		||||
@@ -202,6 +203,7 @@ struct advk_pcie {
 | 
			
		||||
@@ -206,6 +207,7 @@ struct advk_pcie {
 | 
			
		||||
 	struct mutex msi_used_lock;
 | 
			
		||||
 	u16 msi_msg;
 | 
			
		||||
 	int root_bus_nr;
 | 
			
		||||
@@ -50,7 +50,7 @@ Acked-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
 | 
			
		||||
 	struct pci_bridge_emul bridge;
 | 
			
		||||
 };
 | 
			
		||||
 
 | 
			
		||||
@@ -226,20 +228,16 @@ static int advk_pcie_link_up(struct advk
 | 
			
		||||
@@ -230,20 +232,16 @@ static int advk_pcie_link_up(struct advk
 | 
			
		||||
 
 | 
			
		||||
 static int advk_pcie_wait_for_link(struct advk_pcie *pcie)
 | 
			
		||||
 {
 | 
			
		||||
@@ -72,7 +72,7 @@ Acked-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
 | 
			
		||||
 	return -ETIMEDOUT;
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
@@ -254,6 +252,85 @@ static void advk_pcie_wait_for_retrain(s
 | 
			
		||||
@@ -258,6 +256,85 @@ static void advk_pcie_wait_for_retrain(s
 | 
			
		||||
 	}
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
@@ -158,7 +158,7 @@ Acked-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
 | 
			
		||||
 static void advk_pcie_setup_hw(struct advk_pcie *pcie)
 | 
			
		||||
 {
 | 
			
		||||
 	u32 reg;
 | 
			
		||||
@@ -299,12 +376,6 @@ static void advk_pcie_setup_hw(struct ad
 | 
			
		||||
@@ -303,12 +380,6 @@ static void advk_pcie_setup_hw(struct ad
 | 
			
		||||
 		PCIE_CORE_CTRL2_TD_ENABLE;
 | 
			
		||||
 	advk_writel(pcie, reg, PCIE_CORE_CTRL2_REG);
 | 
			
		||||
 
 | 
			
		||||
@@ -171,7 +171,7 @@ Acked-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
 | 
			
		||||
 	/* Set lane X1 */
 | 
			
		||||
 	reg = advk_readl(pcie, PCIE_CORE_CTRL0_REG);
 | 
			
		||||
 	reg &= ~LANE_CNT_MSK;
 | 
			
		||||
@@ -352,20 +423,7 @@ static void advk_pcie_setup_hw(struct ad
 | 
			
		||||
@@ -356,20 +427,7 @@ static void advk_pcie_setup_hw(struct ad
 | 
			
		||||
 	 */
 | 
			
		||||
 	msleep(PCI_PM_D3COLD_WAIT);
 | 
			
		||||
 
 | 
			
		||||
@@ -193,7 +193,7 @@ Acked-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
 | 
			
		||||
 
 | 
			
		||||
 	reg = advk_readl(pcie, PCIE_CORE_CMD_STATUS_REG);
 | 
			
		||||
 	reg |= PCIE_CORE_CMD_MEM_ACCESS_EN |
 | 
			
		||||
@@ -1077,6 +1135,12 @@ static int advk_pcie_probe(struct platfo
 | 
			
		||||
@@ -1193,6 +1251,12 @@ static int advk_pcie_probe(struct platfo
 | 
			
		||||
 		return ret;
 | 
			
		||||
 	}
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -48,7 +48,7 @@ Acked-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
 | 
			
		||||
 #include <linux/of_pci.h>
 | 
			
		||||
 
 | 
			
		||||
 #include "../pci.h"
 | 
			
		||||
@@ -205,6 +207,7 @@ struct advk_pcie {
 | 
			
		||||
@@ -209,6 +211,7 @@ struct advk_pcie {
 | 
			
		||||
 	int root_bus_nr;
 | 
			
		||||
 	int link_gen;
 | 
			
		||||
 	struct pci_bridge_emul bridge;
 | 
			
		||||
@@ -56,7 +56,7 @@ Acked-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
 | 
			
		||||
 };
 | 
			
		||||
 
 | 
			
		||||
 static inline void advk_writel(struct advk_pcie *pcie, u32 val, u64 reg)
 | 
			
		||||
@@ -331,10 +334,31 @@ err:
 | 
			
		||||
@@ -335,10 +338,31 @@ err:
 | 
			
		||||
 	dev_err(dev, "link never came up\n");
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
@@ -88,7 +88,7 @@ Acked-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
 | 
			
		||||
 	/* Set to Direct mode */
 | 
			
		||||
 	reg = advk_readl(pcie, CTRL_CONFIG_REG);
 | 
			
		||||
 	reg &= ~(CTRL_MODE_MASK << CTRL_MODE_SHIFT);
 | 
			
		||||
@@ -417,7 +441,8 @@ static void advk_pcie_setup_hw(struct ad
 | 
			
		||||
@@ -421,7 +445,8 @@ static void advk_pcie_setup_hw(struct ad
 | 
			
		||||
 
 | 
			
		||||
 	/*
 | 
			
		||||
 	 * PERST# signal could have been asserted by pinctrl subsystem before
 | 
			
		||||
@@ -98,7 +98,7 @@ Acked-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
 | 
			
		||||
 	 * fundamental reset. As required by PCI Express spec a delay for at
 | 
			
		||||
 	 * least 100ms after such a reset before link training is needed.
 | 
			
		||||
 	 */
 | 
			
		||||
@@ -1135,6 +1160,22 @@ static int advk_pcie_probe(struct platfo
 | 
			
		||||
@@ -1251,6 +1276,22 @@ static int advk_pcie_probe(struct platfo
 | 
			
		||||
 		return ret;
 | 
			
		||||
 	}
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -47,7 +47,7 @@ Cc: Miquèl Raynal <miquel.raynal@bootlin.com>
 | 
			
		||||
 #include <linux/platform_device.h>
 | 
			
		||||
 #include <linux/of_address.h>
 | 
			
		||||
 #include <linux/of_gpio.h>
 | 
			
		||||
@@ -103,6 +104,8 @@
 | 
			
		||||
@@ -104,6 +105,8 @@
 | 
			
		||||
 #define     PCIE_CORE_CTRL2_STRICT_ORDER_ENABLE	BIT(5)
 | 
			
		||||
 #define     PCIE_CORE_CTRL2_OB_WIN_ENABLE	BIT(6)
 | 
			
		||||
 #define     PCIE_CORE_CTRL2_MSI_ENABLE		BIT(10)
 | 
			
		||||
@@ -56,7 +56,7 @@ Cc: Miquèl Raynal <miquel.raynal@bootlin.com>
 | 
			
		||||
 #define PCIE_MSG_LOG_REG			(CONTROL_BASE_ADDR + 0x30)
 | 
			
		||||
 #define PCIE_ISR0_REG				(CONTROL_BASE_ADDR + 0x40)
 | 
			
		||||
 #define PCIE_MSG_PM_PME_MASK			BIT(7)
 | 
			
		||||
@@ -208,6 +211,7 @@ struct advk_pcie {
 | 
			
		||||
@@ -212,6 +215,7 @@ struct advk_pcie {
 | 
			
		||||
 	int link_gen;
 | 
			
		||||
 	struct pci_bridge_emul bridge;
 | 
			
		||||
 	struct gpio_desc *reset_gpio;
 | 
			
		||||
@@ -64,7 +64,7 @@ Cc: Miquèl Raynal <miquel.raynal@bootlin.com>
 | 
			
		||||
 };
 | 
			
		||||
 
 | 
			
		||||
 static inline void advk_writel(struct advk_pcie *pcie, u32 val, u64 reg)
 | 
			
		||||
@@ -359,6 +363,11 @@ static void advk_pcie_setup_hw(struct ad
 | 
			
		||||
@@ -363,6 +367,11 @@ static void advk_pcie_setup_hw(struct ad
 | 
			
		||||
 
 | 
			
		||||
 	advk_pcie_issue_perst(pcie);
 | 
			
		||||
 
 | 
			
		||||
@@ -76,7 +76,7 @@ Cc: Miquèl Raynal <miquel.raynal@bootlin.com>
 | 
			
		||||
 	/* Set to Direct mode */
 | 
			
		||||
 	reg = advk_readl(pcie, CTRL_CONFIG_REG);
 | 
			
		||||
 	reg &= ~(CTRL_MODE_MASK << CTRL_MODE_SHIFT);
 | 
			
		||||
@@ -1125,6 +1134,62 @@ out_release_res:
 | 
			
		||||
@@ -1241,6 +1250,62 @@ out_release_res:
 | 
			
		||||
 	return err;
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
@@ -139,7 +139,7 @@ Cc: Miquèl Raynal <miquel.raynal@bootlin.com>
 | 
			
		||||
 static int advk_pcie_probe(struct platform_device *pdev)
 | 
			
		||||
 {
 | 
			
		||||
 	struct device *dev = &pdev->dev;
 | 
			
		||||
@@ -1182,6 +1247,10 @@ static int advk_pcie_probe(struct platfo
 | 
			
		||||
@@ -1298,6 +1363,10 @@ static int advk_pcie_probe(struct platfo
 | 
			
		||||
 	else
 | 
			
		||||
 		pcie->link_gen = ret;
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -42,12 +42,12 @@ Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
 | 
			
		||||
 	max-link-speed = <2>;
 | 
			
		||||
 	reset-gpios = <&gpiosb 3 GPIO_ACTIVE_LOW>;
 | 
			
		||||
-	phys = <&comphy1 0>;
 | 
			
		||||
 
 | 
			
		||||
 	/* enabled by U-Boot if PCIe module is present */
 | 
			
		||||
 	status = "disabled";
 | 
			
		||||
 	/*
 | 
			
		||||
 	 * U-Boot port for Turris Mox has a bug which always expects that "ranges" DT property
 | 
			
		||||
 	 * contains exactly 2 ranges with 3 (child) address cells, 2 (parent) address cells and
 | 
			
		||||
--- a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
 | 
			
		||||
+++ b/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
 | 
			
		||||
@@ -494,6 +494,7 @@
 | 
			
		||||
@@ -501,6 +501,7 @@
 | 
			
		||||
 					<0 0 0 2 &pcie_intc 1>,
 | 
			
		||||
 					<0 0 0 3 &pcie_intc 2>,
 | 
			
		||||
 					<0 0 0 4 &pcie_intc 3>;
 | 
			
		||||
 
 | 
			
		||||
@@ -30,11 +30,11 @@ Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
 | 
			
		||||
 	status = "okay";
 | 
			
		||||
-	max-link-speed = <2>;
 | 
			
		||||
 	reset-gpios = <&gpiosb 3 GPIO_ACTIVE_LOW>;
 | 
			
		||||
 
 | 
			
		||||
 	/* enabled by U-Boot if PCIe module is present */
 | 
			
		||||
 	/*
 | 
			
		||||
 	 * U-Boot port for Turris Mox has a bug which always expects that "ranges" DT property
 | 
			
		||||
--- a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
 | 
			
		||||
+++ b/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
 | 
			
		||||
@@ -494,6 +494,7 @@
 | 
			
		||||
@@ -501,6 +501,7 @@
 | 
			
		||||
 					<0 0 0 2 &pcie_intc 1>,
 | 
			
		||||
 					<0 0 0 3 &pcie_intc 2>,
 | 
			
		||||
 					<0 0 0 4 &pcie_intc 3>;
 | 
			
		||||
 
 | 
			
		||||
@@ -34,7 +34,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
 | 
			
		||||
 | 
			
		||||
--- a/drivers/pci/controller/pci-aardvark.c
 | 
			
		||||
+++ b/drivers/pci/controller/pci-aardvark.c
 | 
			
		||||
@@ -650,6 +650,13 @@ static bool advk_pcie_valid_device(struc
 | 
			
		||||
@@ -725,6 +725,13 @@ static bool advk_pcie_valid_device(struc
 | 
			
		||||
 	if ((bus->number == pcie->root_bus_nr) && PCI_SLOT(devfn) != 0)
 | 
			
		||||
 		return false;
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -31,7 +31,7 @@ Cc: <stable@vger.kernel.org> # 5.8+: ea17a0f153af: phy: marvell: comphy: Convert
 | 
			
		||||
 | 
			
		||||
--- a/drivers/pci/controller/pci-aardvark.c
 | 
			
		||||
+++ b/drivers/pci/controller/pci-aardvark.c
 | 
			
		||||
@@ -1165,7 +1165,9 @@ static int advk_pcie_enable_phy(struct a
 | 
			
		||||
@@ -1281,7 +1281,9 @@ static int advk_pcie_enable_phy(struct a
 | 
			
		||||
 	}
 | 
			
		||||
 
 | 
			
		||||
 	ret = phy_power_on(pcie->phy);
 | 
			
		||||
 
 | 
			
		||||
@@ -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>
 | 
			
		||||
@@ -5728,3 +5729,34 @@ static void apex_pci_fixup_class(struct
 | 
			
		||||
@@ -5783,3 +5784,34 @@ static void apex_pci_fixup_class(struct
 | 
			
		||||
 }
 | 
			
		||||
 DECLARE_PCI_FIXUP_CLASS_HEADER(0x1ac1, 0x089a,
 | 
			
		||||
 			       PCI_CLASS_NOT_DEFINED, 8, apex_pci_fixup_class);
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@
 | 
			
		||||
 	/* initialize internal qc */
 | 
			
		||||
 	qc = __ata_qc_from_tag(ap, ATA_TAG_INTERNAL);
 | 
			
		||||
 
 | 
			
		||||
@@ -5124,6 +5132,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
 | 
			
		||||
@@ -5128,6 +5136,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
 | 
			
		||||
 	if (unlikely(ap->pflags & ATA_PFLAG_FROZEN))
 | 
			
		||||
 		return NULL;
 | 
			
		||||
 
 | 
			
		||||
@@ -25,7 +25,7 @@
 | 
			
		||||
 	/* libsas case */
 | 
			
		||||
 	if (ap->flags & ATA_FLAG_SAS_HOST) {
 | 
			
		||||
 		tag = ata_sas_allocate_tag(ap);
 | 
			
		||||
@@ -5169,6 +5180,8 @@ void ata_qc_free(struct ata_queued_cmd *
 | 
			
		||||
@@ -5173,6 +5184,8 @@ void ata_qc_free(struct ata_queued_cmd *
 | 
			
		||||
 		qc->tag = ATA_TAG_POISON;
 | 
			
		||||
 		if (ap->flags & ATA_FLAG_SAS_HOST)
 | 
			
		||||
 			ata_sas_free_tag(tag, ap);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user