From 5408e811b29643e3fd5f2cd227f17263daa45a74 Mon Sep 17 00:00:00 2001 From: John Audia Date: Mon, 19 Jul 2021 05:17:10 -0400 Subject: [PATCH] kernel: bump 5.4 to 5.4.133 Manually rebased: pending-5.4/690-net-add-support-for-threaded-NAPI-polling.patch All other patches automatically rebased. Build system: x86_64 Build-tested: ipq806x/R7800 Run-tested: ipq806x/R7800 No dmesg regressions, everything functional Signed-off-by: John Audia --- include/kernel-version.mk | 4 +-- ...043-MMC-added-alternative-MMC-driver.patch | 2 +- ...-inbound-resource-parsing-to-helpers.patch | 2 +- ...-0504-mmc-sdhci-Silence-MMC-warnings.patch | 4 +-- ...v-Introduce-get-set-_mbus_config-pad.patch | 4 +-- ...ev-Remove-s-g-_mbus_config-video-ops.patch | 4 +-- .../683-NET-add-mac-address-property.patch | 4 +-- ...atek-register-of_platform-for-every-.patch | 7 +----- ...register-every-port-with-of_platform.patch | 7 +----- ...T-skip-GRO-for-foreign-MAC-addresses.patch | 8 +++--- ...address-support-to-of_get_mac_addres.patch | 13 +++------- ...et-add-mac-address-increment-support.patch | 9 ++----- ...dd-support-for-threaded-NAPI-polling.patch | 25 +++++++++---------- .../810-pci_disable_common_quirks.patch | 8 +++--- ...sable-MSI-on-CYW4356-and-CYW4359-chi.patch | 2 +- ...d-quirk-for-cyw4356-to-disable-D3-mo.patch | 2 +- ...-on-marvel-88w9098-and-88w8997-chips.patch | 2 +- ...t-for-endpoint-to-be-ready-before-tr.patch | 2 +- ...in-link-immediately-after-enabling-t.patch | 4 +-- ...7-PCI-aardvark-Improve-link-training.patch | 12 ++++----- ...18-PCI-aardvark-Issue-PERST-via-GPIO.patch | 8 +++--- .../019-PCI-aardvark-Add-PHY-support.patch | 8 +++--- ...-t-touch-PCIe-registers-if-no-card-c.patch | 2 +- ...-initialization-with-old-Marvell-s-A.patch | 2 +- ...r-Gateworks-PLX-PEX860x-switch-with-.patch | 4 +-- ...0031-uvc-add-iPassion-iP2970-support.patch | 4 +-- 26 files changed, 66 insertions(+), 87 deletions(-) diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 5424e1a5f1c6..6dc4ad61332f 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -6,10 +6,10 @@ ifdef CONFIG_TESTING_KERNEL KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER) endif -LINUX_VERSION-5.4 = .132 +LINUX_VERSION-5.4 = .133 LINUX_VERSION-5.10 = .52 -LINUX_KERNEL_HASH-5.4.132 = 8466adbfb3579e751ede683496df7bb20f258b5f882250f3dd82be63736d00ef +LINUX_KERNEL_HASH-5.4.133 = 89a366fbb8784f5bc296c9f3311094e9e4cffeb6dbdf7589168cc032cb950830 LINUX_KERNEL_HASH-5.10.52 = 769e57a0fa218589fa2f8460b8682eb784a72718c7a3d95295f382a77902ae79 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) diff --git a/target/linux/bcm27xx/patches-5.4/950-0043-MMC-added-alternative-MMC-driver.patch b/target/linux/bcm27xx/patches-5.4/950-0043-MMC-added-alternative-MMC-driver.patch index f70887855b9e..16db439b89c7 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0043-MMC-added-alternative-MMC-driver.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0043-MMC-added-alternative-MMC-driver.patch @@ -267,7 +267,7 @@ Signed-off-by: Yaroslav Rosomakho goto out; --- a/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c -@@ -1922,7 +1922,8 @@ EXPORT_SYMBOL(mmc_erase); +@@ -1925,7 +1925,8 @@ EXPORT_SYMBOL(mmc_erase); int mmc_can_erase(struct mmc_card *card) { if ((card->host->caps & MMC_CAP_ERASE) && diff --git a/target/linux/bcm27xx/patches-5.4/950-0441-PCI-of-Add-inbound-resource-parsing-to-helpers.patch b/target/linux/bcm27xx/patches-5.4/950-0441-PCI-of-Add-inbound-resource-parsing-to-helpers.patch index 6e04d425bf38..86ef1212302b 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0441-PCI-of-Add-inbound-resource-parsing-to-helpers.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0441-PCI-of-Add-inbound-resource-parsing-to-helpers.patch @@ -82,7 +82,7 @@ Cc: linux-rockchip@lists.infradead.org --- a/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c -@@ -1049,7 +1049,8 @@ static int advk_pcie_probe(struct platfo +@@ -1060,7 +1060,8 @@ static int advk_pcie_probe(struct platfo return ret; } diff --git a/target/linux/bcm27xx/patches-5.4/950-0504-mmc-sdhci-Silence-MMC-warnings.patch b/target/linux/bcm27xx/patches-5.4/950-0504-mmc-sdhci-Silence-MMC-warnings.patch index 8acdba434e75..89fd58dca088 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0504-mmc-sdhci-Silence-MMC-warnings.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0504-mmc-sdhci-Silence-MMC-warnings.patch @@ -22,7 +22,7 @@ Signed-off-by: Maxime Ripard #define MAX_TUNING_LOOP 40 -@@ -2758,7 +2758,7 @@ static void sdhci_timeout_timer(struct t +@@ -2762,7 +2762,7 @@ static void sdhci_timeout_timer(struct t spin_lock_irqsave(&host->lock, flags); if (host->cmd && !sdhci_data_line_cmd(host->cmd)) { @@ -31,7 +31,7 @@ Signed-off-by: Maxime Ripard mmc_hostname(host->mmc)); sdhci_dumpregs(host); -@@ -2780,7 +2780,7 @@ static void sdhci_timeout_data_timer(str +@@ -2784,7 +2784,7 @@ static void sdhci_timeout_data_timer(str if (host->data || host->data_cmd || (host->cmd && sdhci_data_line_cmd(host->cmd))) { diff --git a/target/linux/bcm27xx/patches-5.4/950-0795-media-v4l2-subdev-Introduce-get-set-_mbus_config-pad.patch b/target/linux/bcm27xx/patches-5.4/950-0795-media-v4l2-subdev-Introduce-get-set-_mbus_config-pad.patch index 910828421be5..30ca593bccc0 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0795-media-v4l2-subdev-Introduce-get-set-_mbus_config-pad.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0795-media-v4l2-subdev-Introduce-get-set-_mbus_config-pad.patch @@ -20,7 +20,7 @@ Signed-off-by: Jacopo Mondi --- a/include/media/v4l2-subdev.h +++ b/include/media/v4l2-subdev.h -@@ -670,6 +670,29 @@ struct v4l2_subdev_pad_config { +@@ -674,6 +674,29 @@ struct v4l2_subdev_pad_config { * * @set_frame_desc: set the low level media bus frame parameters, @fd array * may be adjusted by the subdev driver to device capabilities. @@ -50,7 +50,7 @@ Signed-off-by: Jacopo Mondi */ struct v4l2_subdev_pad_ops { int (*init_cfg)(struct v4l2_subdev *sd, -@@ -710,6 +733,10 @@ struct v4l2_subdev_pad_ops { +@@ -714,6 +737,10 @@ struct v4l2_subdev_pad_ops { struct v4l2_mbus_frame_desc *fd); int (*set_frame_desc)(struct v4l2_subdev *sd, unsigned int pad, struct v4l2_mbus_frame_desc *fd); diff --git a/target/linux/bcm27xx/patches-5.4/950-0799-media-v4l2-subdev-Remove-s-g-_mbus_config-video-ops.patch b/target/linux/bcm27xx/patches-5.4/950-0799-media-v4l2-subdev-Remove-s-g-_mbus_config-video-ops.patch index a7186da34289..0986fa63f543 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0799-media-v4l2-subdev-Remove-s-g-_mbus_config-video-ops.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0799-media-v4l2-subdev-Remove-s-g-_mbus_config-video-ops.patch @@ -17,7 +17,7 @@ Signed-off-by: Jacopo Mondi --- a/include/media/v4l2-subdev.h +++ b/include/media/v4l2-subdev.h -@@ -402,12 +402,6 @@ struct v4l2_mbus_frame_desc { +@@ -406,12 +406,6 @@ struct v4l2_mbus_frame_desc { * * @query_dv_timings: callback for VIDIOC_QUERY_DV_TIMINGS() ioctl handler code. * @@ -30,7 +30,7 @@ Signed-off-by: Jacopo Mondi * @s_rx_buffer: set a host allocated memory buffer for the subdev. The subdev * can adjust @size to a lower value and must not write more data to the * buffer starting at @data than the original value of @size. -@@ -435,10 +429,6 @@ struct v4l2_subdev_video_ops { +@@ -439,10 +433,6 @@ struct v4l2_subdev_video_ops { struct v4l2_dv_timings *timings); int (*query_dv_timings)(struct v4l2_subdev *sd, struct v4l2_dv_timings *timings); diff --git a/target/linux/generic/hack-5.4/683-NET-add-mac-address-property.patch b/target/linux/generic/hack-5.4/683-NET-add-mac-address-property.patch index de561c5336c3..f0418dbb703a 100644 --- a/target/linux/generic/hack-5.4/683-NET-add-mac-address-property.patch +++ b/target/linux/generic/hack-5.4/683-NET-add-mac-address-property.patch @@ -18,7 +18,7 @@ Signed-off-by: David Bauer --- a/drivers/of/of_net.c +++ b/drivers/of/of_net.c -@@ -61,6 +61,7 @@ static void *of_get_mac_addr_nvmem(struc +@@ -55,6 +55,7 @@ static void *of_get_mac_addr_nvmem(struc void *mac; u8 nvmem_mac[ETH_ALEN]; struct platform_device *pdev = of_find_device_by_node(np); @@ -26,7 +26,7 @@ Signed-off-by: David Bauer if (!pdev) { *err = -ENODEV; -@@ -78,10 +79,29 @@ static void *of_get_mac_addr_nvmem(struc +@@ -72,10 +73,29 @@ static void *of_get_mac_addr_nvmem(struc put_device(&pdev->dev); if (!mac) { *err = -ENOMEM; diff --git a/target/linux/generic/hack-5.4/780-drivers-net-mediatek-register-of_platform-for-every-.patch b/target/linux/generic/hack-5.4/780-drivers-net-mediatek-register-of_platform-for-every-.patch index d1383cc2d121..09b413ea97fd 100644 --- a/target/linux/generic/hack-5.4/780-drivers-net-mediatek-register-of_platform-for-every-.patch +++ b/target/linux/generic/hack-5.4/780-drivers-net-mediatek-register-of_platform-for-every-.patch @@ -14,11 +14,9 @@ Signed-off-by: Ansuel Smith drivers/net/ethernet/mediatek/mtk_eth_soc.c | 2 ++ 1 file changed, 2 insertions(+) -diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -index ed4eacef17ce..666803817540 100644 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -@@ -3015,6 +3015,8 @@ static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np) +@@ -3034,6 +3034,8 @@ static int mtk_add_mac(struct mtk_eth *e eth->netdev[id]->dev.of_node = np; eth->netdev[id]->max_mtu = MTK_MAX_RX_LENGTH - MTK_RX_ETH_HLEN; @@ -27,6 +25,3 @@ index ed4eacef17ce..666803817540 100644 return 0; --- -2.31.1 - diff --git a/target/linux/generic/hack-5.4/781-dsa-register-every-port-with-of_platform.patch b/target/linux/generic/hack-5.4/781-dsa-register-every-port-with-of_platform.patch index f9a684c093eb..bd7e190bff23 100644 --- a/target/linux/generic/hack-5.4/781-dsa-register-every-port-with-of_platform.patch +++ b/target/linux/generic/hack-5.4/781-dsa-register-every-port-with-of_platform.patch @@ -15,8 +15,6 @@ Signed-off-by: Ansuel Smith net/dsa/dsa2.c | 2 + 1 file changed, 2 insertion(+) -diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c -index b71e87909f0e..55bbc1a769ca 100644 --- a/net/dsa/dsa2.c +++ b/net/dsa/dsa2.c @@ -14,6 +14,7 @@ @@ -27,7 +25,7 @@ index b71e87909f0e..55bbc1a769ca 100644 #include #include "dsa_priv.h" -@@ -392,6 +392,7 @@ static int dsa_port_setup(struct dsa_port *dp) +@@ -318,6 +319,7 @@ static int dsa_port_setup(struct dsa_por break; devlink_port_registered = true; @@ -35,6 +33,3 @@ index b71e87909f0e..55bbc1a769ca 100644 dp->mac = of_get_mac_address(dp->dn); err = dsa_slave_create(dp); if (err) --- -2.31.1 - diff --git a/target/linux/generic/pending-5.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/pending-5.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch index 8871f3457a57..4839ac5e70e5 100644 --- a/target/linux/generic/pending-5.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch +++ b/target/linux/generic/pending-5.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch @@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau if (netif_elide_gro(skb->dev)) goto normal; -@@ -7284,6 +7287,48 @@ static void __netdev_adjacent_dev_unlink +@@ -7291,6 +7294,48 @@ static void __netdev_adjacent_dev_unlink &upper_dev->adj_list.lower); } @@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau static int __netdev_upper_dev_link(struct net_device *dev, struct net_device *upper_dev, bool master, void *upper_priv, void *upper_info, -@@ -7334,6 +7379,7 @@ static int __netdev_upper_dev_link(struc +@@ -7341,6 +7386,7 @@ static int __netdev_upper_dev_link(struc if (ret) return ret; @@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, &changeupper_info.info); ret = notifier_to_errno(ret); -@@ -7427,6 +7473,7 @@ void netdev_upper_dev_unlink(struct net_ +@@ -7434,6 +7480,7 @@ void netdev_upper_dev_unlink(struct net_ __netdev_adjacent_dev_unlink_neighbour(dev, upper_dev); @@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, &changeupper_info.info); -@@ -8157,6 +8204,7 @@ int dev_set_mac_address(struct net_devic +@@ -8164,6 +8211,7 @@ int dev_set_mac_address(struct net_devic if (err) return err; dev->addr_assign_type = NET_ADDR_SET; diff --git a/target/linux/generic/pending-5.4/681-NET-add-mtd-mac-address-support-to-of_get_mac_addres.patch b/target/linux/generic/pending-5.4/681-NET-add-mtd-mac-address-support-to-of_get_mac_addres.patch index 44a6b6a0476f..01f940dec7d8 100644 --- a/target/linux/generic/pending-5.4/681-NET-add-mtd-mac-address-support-to-of_get_mac_addres.patch +++ b/target/linux/generic/pending-5.4/681-NET-add-mtd-mac-address-support-to-of_get_mac_addres.patch @@ -15,8 +15,6 @@ Signed-off-by: Ansuel Smith drivers/of/of_net.c | 75 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 74 insertions(+), 1 deletion(-) -diff --git a/drivers/of/of_net.c b/drivers/of/of_net.c -index 6e411821583e..f072e2509cc9 100644 --- a/drivers/of/of_net.c +++ b/drivers/of/of_net.c @@ -11,6 +11,7 @@ @@ -27,7 +25,7 @@ index 6e411821583e..f072e2509cc9 100644 /** * of_get_phy_mode - Get phy mode for given device_node -@@ -45,7 +46,7 @@ int of_get_phy_mode(struct device_node *np, phy_interface_t *interface) +@@ -39,7 +40,7 @@ int of_get_phy_mode(struct device_node * } EXPORT_SYMBOL_GPL(of_get_phy_mode); @@ -36,7 +34,7 @@ index 6e411821583e..f072e2509cc9 100644 { struct property *pp = of_find_property(np, name, NULL); -@@ -78,6 +79,70 @@ static const void *of_get_mac_addr_nvmem(struct device_node *np) +@@ -72,6 +73,70 @@ static const void *of_get_mac_addr_nvmem return mac; } @@ -107,7 +105,7 @@ index 6e411821583e..f072e2509cc9 100644 /** * Search the device tree for the best MAC address to use. 'mac-address' is * checked first, because that is supposed to contain to "most recent" MAC -@@ -98,6 +163,10 @@ static const void *of_get_mac_addr_nvmem(struct device_node *np) +@@ -92,6 +157,10 @@ static const void *of_get_mac_addr_nvmem * this case, the real MAC is in 'local-mac-address', and 'mac-address' exists * but is all zeros. * @@ -118,7 +116,7 @@ index 6e411821583e..f072e2509cc9 100644 * Return: Will be a valid pointer on success and ERR_PTR in case of error. */ const void *of_get_mac_address(struct device_node *np) -@@ -116,6 +185,10 @@ const void *of_get_mac_address(struct device_node *np) +@@ -110,6 +179,10 @@ const void *of_get_mac_address(struct de if (addr) return addr; @@ -129,6 +127,3 @@ index 6e411821583e..f072e2509cc9 100644 return of_get_mac_addr_nvmem(np); } EXPORT_SYMBOL(of_get_mac_address); --- -2.30.2 - diff --git a/target/linux/generic/pending-5.4/682-of_net-add-mac-address-increment-support.patch b/target/linux/generic/pending-5.4/682-of_net-add-mac-address-increment-support.patch index 1c08e2369946..81f946ff7fee 100644 --- a/target/linux/generic/pending-5.4/682-of_net-add-mac-address-increment-support.patch +++ b/target/linux/generic/pending-5.4/682-of_net-add-mac-address-increment-support.patch @@ -18,11 +18,9 @@ Signed-off-by: Ansuel Smith drivers/of/of_net.c | 59 ++++++++++++++++++++++++++++++++++----------- 1 file changed, 45 insertions(+), 14 deletions(-) -diff --git a/drivers/of/of_net.c b/drivers/of/of_net.c -index f072e2509cc9..0dbd1f7ef396 100644 --- a/drivers/of/of_net.c +++ b/drivers/of/of_net.c -@@ -55,31 +55,36 @@ static void *of_get_mac_addr(struct device_node *np, const char *name) +@@ -49,31 +49,36 @@ static void *of_get_mac_addr(struct devi return NULL; } @@ -67,7 +65,7 @@ index f072e2509cc9..0dbd1f7ef396 100644 { #ifdef CONFIG_MTD struct device_node *mtd_np = NULL; -@@ -167,28 +172,54 @@ static const void *of_get_mac_address_mtd(struct device_node *np) +@@ -161,28 +166,54 @@ free: * If a mtd-mac-address property exists, try to fetch the MAC address from the * specified mtd device, and store it as a 'mac-address' property * @@ -128,6 +126,3 @@ index f072e2509cc9..0dbd1f7ef396 100644 + return addr; } EXPORT_SYMBOL(of_get_mac_address); --- -2.30.2 - diff --git a/target/linux/generic/pending-5.4/690-net-add-support-for-threaded-NAPI-polling.patch b/target/linux/generic/pending-5.4/690-net-add-support-for-threaded-NAPI-polling.patch index b30482468bb0..7c9726b82509 100644 --- a/target/linux/generic/pending-5.4/690-net-add-support-for-threaded-NAPI-polling.patch +++ b/target/linux/generic/pending-5.4/690-net-add-support-for-threaded-NAPI-polling.patch @@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau local_irq_save(flags); ____napi_schedule(this_cpu_ptr(&softnet_data), n); local_irq_restore(flags); -@@ -5978,6 +5984,11 @@ EXPORT_SYMBOL(napi_schedule_prep); +@@ -5982,6 +5988,10 @@ EXPORT_SYMBOL(napi_schedule_prep); */ void __napi_schedule_irqoff(struct napi_struct *n) { @@ -115,11 +115,10 @@ Signed-off-by: Felix Fietkau + queue_work(napi_workq, &n->work); + return; + } -+ - ____napi_schedule(this_cpu_ptr(&softnet_data), n); - } - EXPORT_SYMBOL(__napi_schedule_irqoff); -@@ -6239,9 +6250,89 @@ static void init_gro_hash(struct napi_st + if (!IS_ENABLED(CONFIG_PREEMPT_RT)) + ____napi_schedule(this_cpu_ptr(&softnet_data), n); + else +@@ -6246,9 +6256,89 @@ static void init_gro_hash(struct napi_st napi->gro_bitmask = 0; } @@ -209,7 +208,7 @@ Signed-off-by: Felix Fietkau INIT_LIST_HEAD(&napi->poll_list); hrtimer_init(&napi->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_PINNED); napi->timer.function = napi_watchdog; -@@ -6258,6 +6349,7 @@ void netif_napi_add(struct net_device *d +@@ -6265,6 +6355,7 @@ void netif_napi_add(struct net_device *d #ifdef CONFIG_NETPOLL napi->poll_owner = -1; #endif @@ -217,7 +216,7 @@ Signed-off-by: Felix Fietkau set_bit(NAPI_STATE_SCHED, &napi->state); set_bit(NAPI_STATE_NPSVC, &napi->state); list_add_rcu(&napi->dev_list, &dev->napi_list); -@@ -6298,6 +6390,7 @@ static void flush_gro_hash(struct napi_s +@@ -6305,6 +6396,7 @@ static void flush_gro_hash(struct napi_s void netif_napi_del(struct napi_struct *napi) { might_sleep(); @@ -225,7 +224,7 @@ Signed-off-by: Felix Fietkau if (napi_hash_del(napi)) synchronize_net(); list_del_init(&napi->dev_list); -@@ -6310,50 +6403,18 @@ EXPORT_SYMBOL(netif_napi_del); +@@ -6317,50 +6409,18 @@ EXPORT_SYMBOL(netif_napi_del); static int napi_poll(struct napi_struct *n, struct list_head *repoll) { @@ -239,8 +238,7 @@ Signed-off-by: Felix Fietkau have = netpoll_poll_lock(n); - weight = n->weight; -+ work = __napi_poll(n, &do_repoll); - +- - /* This NAPI_STATE_SCHED test is for avoiding a race - * with netpoll's poll_napi(). Only the entity which - * obtains the lock and sees NAPI_STATE_SCHED set will @@ -254,7 +252,8 @@ Signed-off-by: Felix Fietkau - } - - WARN_ON_ONCE(work > weight); -- ++ work = __napi_poll(n, &do_repoll); + - if (likely(work < weight)) - goto out_unlock; - @@ -280,7 +279,7 @@ Signed-off-by: Felix Fietkau /* Some drivers may have called napi_schedule * prior to exhausting their budget. -@@ -10333,6 +10394,10 @@ static int __init net_dev_init(void) +@@ -10340,6 +10400,10 @@ static int __init net_dev_init(void) sd->backlog.weight = weight_p; } diff --git a/target/linux/generic/pending-5.4/810-pci_disable_common_quirks.patch b/target/linux/generic/pending-5.4/810-pci_disable_common_quirks.patch index 3f89103fa2ad..c840a7e2c67a 100644 --- a/target/linux/generic/pending-5.4/810-pci_disable_common_quirks.patch +++ b/target/linux/generic/pending-5.4/810-pci_disable_common_quirks.patch @@ -25,7 +25,7 @@ Signed-off-by: Gabor Juhos --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c -@@ -205,6 +205,7 @@ static void quirk_mmio_always_on(struct +@@ -206,6 +206,7 @@ static void quirk_mmio_always_on(struct DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_BRIDGE_HOST, 8, quirk_mmio_always_on); @@ -33,7 +33,7 @@ Signed-off-by: Gabor Juhos /* * The Mellanox Tavor device gives false positive parity errors. Mark this * device with a broken_parity_status to allow PCI scanning code to "skip" -@@ -3320,6 +3321,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I +@@ -3321,6 +3322,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 /* * 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 -@@ -3345,6 +3348,8 @@ static void quirk_intel_ntb(struct pci_d +@@ -3346,6 +3349,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 /* * Some BIOS implementations leave the Intel GPU interrupts enabled, even * though no one is handling them (e.g., if the i915 driver is never -@@ -3383,6 +3388,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN +@@ -3384,6 +3389,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); diff --git a/target/linux/layerscape/patches-5.4/812-pcie-0005-MLK-20684-PCI-Disable-MSI-on-CYW4356-and-CYW4359-chi.patch b/target/linux/layerscape/patches-5.4/812-pcie-0005-MLK-20684-PCI-Disable-MSI-on-CYW4356-and-CYW4359-chi.patch index 5a00cf765f2c..5163f5fd9590 100644 --- a/target/linux/layerscape/patches-5.4/812-pcie-0005-MLK-20684-PCI-Disable-MSI-on-CYW4356-and-CYW4359-chi.patch +++ b/target/linux/layerscape/patches-5.4/812-pcie-0005-MLK-20684-PCI-Disable-MSI-on-CYW4356-and-CYW4359-chi.patch @@ -19,7 +19,7 @@ Signed-off-by: Fugang Duan --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c -@@ -2523,6 +2523,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VI +@@ -2524,6 +2524,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); diff --git a/target/linux/layerscape/patches-5.4/812-pcie-0006-MLK-20716-PCI-add-quirk-for-cyw4356-to-disable-D3-mo.patch b/target/linux/layerscape/patches-5.4/812-pcie-0006-MLK-20716-PCI-add-quirk-for-cyw4356-to-disable-D3-mo.patch index cb81748844b4..1f9eb5c83c49 100644 --- a/target/linux/layerscape/patches-5.4/812-pcie-0006-MLK-20716-PCI-add-quirk-for-cyw4356-to-disable-D3-mo.patch +++ b/target/linux/layerscape/patches-5.4/812-pcie-0006-MLK-20716-PCI-add-quirk-for-cyw4356-to-disable-D3-mo.patch @@ -17,7 +17,7 @@ Signed-off-by: Shrikant Bobade --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c -@@ -1356,6 +1356,10 @@ DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_VENDOR +@@ -1357,6 +1357,10 @@ DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_VENDOR occur when mode detecting */ DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_VENDOR_ID_VIA, PCI_ANY_ID, PCI_CLASS_STORAGE_IDE, 8, quirk_no_ata_d3); diff --git a/target/linux/layerscape/patches-5.4/812-pcie-0007-PCI-Disable-MSI-on-marvel-88w9098-and-88w8997-chips.patch b/target/linux/layerscape/patches-5.4/812-pcie-0007-PCI-Disable-MSI-on-marvel-88w9098-and-88w8997-chips.patch index 835b5cedb9a3..98d556386d95 100644 --- a/target/linux/layerscape/patches-5.4/812-pcie-0007-PCI-Disable-MSI-on-marvel-88w9098-and-88w8997-chips.patch +++ b/target/linux/layerscape/patches-5.4/812-pcie-0007-PCI-Disable-MSI-on-marvel-88w9098-and-88w8997-chips.patch @@ -14,7 +14,7 @@ Signed-off-by: Fugang Duan --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c -@@ -2529,6 +2529,9 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VI +@@ -2530,6 +2530,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); diff --git a/target/linux/mvebu/patches-5.4/001-PCI-aardvark-Wait-for-endpoint-to-be-ready-before-tr.patch b/target/linux/mvebu/patches-5.4/001-PCI-aardvark-Wait-for-endpoint-to-be-ready-before-tr.patch index 2df33061579c..31f5accab683 100644 --- a/target/linux/mvebu/patches-5.4/001-PCI-aardvark-Wait-for-endpoint-to-be-ready-before-tr.patch +++ b/target/linux/mvebu/patches-5.4/001-PCI-aardvark-Wait-for-endpoint-to-be-ready-before-tr.patch @@ -33,7 +33,7 @@ Acked-by: Thomas Petazzoni --- a/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c -@@ -338,6 +338,14 @@ static void advk_pcie_setup_hw(struct ad +@@ -349,6 +349,14 @@ static void advk_pcie_setup_hw(struct ad reg |= PIO_CTRL_ADDR_WIN_DISABLE; advk_writel(pcie, reg, PIO_CTRL); diff --git a/target/linux/mvebu/patches-5.4/016-PCI-aardvark-Train-link-immediately-after-enabling-t.patch b/target/linux/mvebu/patches-5.4/016-PCI-aardvark-Train-link-immediately-after-enabling-t.patch index c9e49ac2f105..3ff0dcb16630 100644 --- a/target/linux/mvebu/patches-5.4/016-PCI-aardvark-Train-link-immediately-after-enabling-t.patch +++ b/target/linux/mvebu/patches-5.4/016-PCI-aardvark-Train-link-immediately-after-enabling-t.patch @@ -29,7 +29,7 @@ Acked-by: Thomas Petazzoni --- a/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c -@@ -300,11 +300,6 @@ static void advk_pcie_setup_hw(struct ad +@@ -311,11 +311,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 /* Enable MSI */ reg = advk_readl(pcie, PCIE_CORE_CTRL2_REG); reg |= PCIE_CORE_CTRL2_MSI_ENABLE; -@@ -346,7 +341,15 @@ static void advk_pcie_setup_hw(struct ad +@@ -357,7 +352,15 @@ static void advk_pcie_setup_hw(struct ad */ msleep(PCI_PM_D3COLD_WAIT); diff --git a/target/linux/mvebu/patches-5.4/017-PCI-aardvark-Improve-link-training.patch b/target/linux/mvebu/patches-5.4/017-PCI-aardvark-Improve-link-training.patch index 19d0a5d5134d..e3a38740c396 100644 --- a/target/linux/mvebu/patches-5.4/017-PCI-aardvark-Improve-link-training.patch +++ b/target/linux/mvebu/patches-5.4/017-PCI-aardvark-Improve-link-training.patch @@ -42,7 +42,7 @@ Acked-by: Thomas Petazzoni #define PCIE_CORE_LINK_WIDTH_SHIFT 20 #define PCIE_CORE_ERR_CAPCTL_REG 0x118 #define PCIE_CORE_ERR_CAPCTL_ECRC_CHK_TX BIT(5) -@@ -201,6 +202,7 @@ struct advk_pcie { +@@ -202,6 +203,7 @@ struct advk_pcie { struct mutex msi_used_lock; u16 msi_msg; int root_bus_nr; @@ -50,7 +50,7 @@ Acked-by: Thomas Petazzoni struct pci_bridge_emul bridge; }; -@@ -225,20 +227,16 @@ static int advk_pcie_link_up(struct advk +@@ -226,20 +228,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 return -ETIMEDOUT; } -@@ -253,6 +251,85 @@ static void advk_pcie_wait_for_retrain(s +@@ -254,6 +252,85 @@ static void advk_pcie_wait_for_retrain(s } } @@ -158,7 +158,7 @@ Acked-by: Thomas Petazzoni static void advk_pcie_setup_hw(struct advk_pcie *pcie) { u32 reg; -@@ -288,12 +365,6 @@ static void advk_pcie_setup_hw(struct ad +@@ -299,12 +376,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 /* Set lane X1 */ reg = advk_readl(pcie, PCIE_CORE_CTRL0_REG); reg &= ~LANE_CNT_MSK; -@@ -341,20 +412,7 @@ static void advk_pcie_setup_hw(struct ad +@@ -352,20 +423,7 @@ static void advk_pcie_setup_hw(struct ad */ msleep(PCI_PM_D3COLD_WAIT); @@ -193,7 +193,7 @@ Acked-by: Thomas Petazzoni reg = advk_readl(pcie, PCIE_CORE_CMD_STATUS_REG); reg |= PCIE_CORE_CMD_MEM_ACCESS_EN | -@@ -1066,6 +1124,12 @@ static int advk_pcie_probe(struct platfo +@@ -1077,6 +1135,12 @@ static int advk_pcie_probe(struct platfo return ret; } diff --git a/target/linux/mvebu/patches-5.4/018-PCI-aardvark-Issue-PERST-via-GPIO.patch b/target/linux/mvebu/patches-5.4/018-PCI-aardvark-Issue-PERST-via-GPIO.patch index 0f2dab600b63..fde01fa98742 100644 --- a/target/linux/mvebu/patches-5.4/018-PCI-aardvark-Issue-PERST-via-GPIO.patch +++ b/target/linux/mvebu/patches-5.4/018-PCI-aardvark-Issue-PERST-via-GPIO.patch @@ -48,7 +48,7 @@ Acked-by: Thomas Petazzoni #include #include "../pci.h" -@@ -204,6 +206,7 @@ struct advk_pcie { +@@ -205,6 +207,7 @@ struct advk_pcie { int root_bus_nr; int link_gen; struct pci_bridge_emul bridge; @@ -56,7 +56,7 @@ Acked-by: Thomas Petazzoni }; static inline void advk_writel(struct advk_pcie *pcie, u32 val, u64 reg) -@@ -330,10 +333,31 @@ err: +@@ -331,10 +334,31 @@ err: dev_err(dev, "link never came up\n"); } @@ -88,7 +88,7 @@ Acked-by: Thomas Petazzoni /* Set to Direct mode */ reg = advk_readl(pcie, CTRL_CONFIG_REG); reg &= ~(CTRL_MODE_MASK << CTRL_MODE_SHIFT); -@@ -406,7 +430,8 @@ static void advk_pcie_setup_hw(struct ad +@@ -417,7 +441,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 * fundamental reset. As required by PCI Express spec a delay for at * least 100ms after such a reset before link training is needed. */ -@@ -1124,6 +1149,22 @@ static int advk_pcie_probe(struct platfo +@@ -1135,6 +1160,22 @@ static int advk_pcie_probe(struct platfo return ret; } diff --git a/target/linux/mvebu/patches-5.4/019-PCI-aardvark-Add-PHY-support.patch b/target/linux/mvebu/patches-5.4/019-PCI-aardvark-Add-PHY-support.patch index 640e4eb57c10..edff5c4a9c39 100644 --- a/target/linux/mvebu/patches-5.4/019-PCI-aardvark-Add-PHY-support.patch +++ b/target/linux/mvebu/patches-5.4/019-PCI-aardvark-Add-PHY-support.patch @@ -56,7 +56,7 @@ Cc: Miquèl Raynal #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) -@@ -207,6 +210,7 @@ struct advk_pcie { +@@ -208,6 +211,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 }; static inline void advk_writel(struct advk_pcie *pcie, u32 val, u64 reg) -@@ -358,6 +362,11 @@ static void advk_pcie_setup_hw(struct ad +@@ -359,6 +363,11 @@ static void advk_pcie_setup_hw(struct ad advk_pcie_issue_perst(pcie); @@ -76,7 +76,7 @@ Cc: Miquèl Raynal /* Set to Direct mode */ reg = advk_readl(pcie, CTRL_CONFIG_REG); reg &= ~(CTRL_MODE_MASK << CTRL_MODE_SHIFT); -@@ -1114,6 +1123,62 @@ out_release_res: +@@ -1125,6 +1134,62 @@ out_release_res: return err; } @@ -139,7 +139,7 @@ Cc: Miquèl Raynal static int advk_pcie_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; -@@ -1171,6 +1236,10 @@ static int advk_pcie_probe(struct platfo +@@ -1182,6 +1247,10 @@ static int advk_pcie_probe(struct platfo else pcie->link_gen = ret; diff --git a/target/linux/mvebu/patches-5.4/024-PCI-aardvark-Don-t-touch-PCIe-registers-if-no-card-c.patch b/target/linux/mvebu/patches-5.4/024-PCI-aardvark-Don-t-touch-PCIe-registers-if-no-card-c.patch index dfc068c8cb8f..04803c90d84a 100644 --- a/target/linux/mvebu/patches-5.4/024-PCI-aardvark-Don-t-touch-PCIe-registers-if-no-card-c.patch +++ b/target/linux/mvebu/patches-5.4/024-PCI-aardvark-Don-t-touch-PCIe-registers-if-no-card-c.patch @@ -34,7 +34,7 @@ Signed-off-by: Lorenzo Pieralisi --- a/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c -@@ -639,6 +639,13 @@ static bool advk_pcie_valid_device(struc +@@ -650,6 +650,13 @@ static bool advk_pcie_valid_device(struc if ((bus->number == pcie->root_bus_nr) && PCI_SLOT(devfn) != 0) return false; diff --git a/target/linux/mvebu/patches-5.4/026-PCI-aardvark-Fix-initialization-with-old-Marvell-s-A.patch b/target/linux/mvebu/patches-5.4/026-PCI-aardvark-Fix-initialization-with-old-Marvell-s-A.patch index 41fed6aded73..ff67c9c02fb1 100644 --- a/target/linux/mvebu/patches-5.4/026-PCI-aardvark-Fix-initialization-with-old-Marvell-s-A.patch +++ b/target/linux/mvebu/patches-5.4/026-PCI-aardvark-Fix-initialization-with-old-Marvell-s-A.patch @@ -31,7 +31,7 @@ Cc: # 5.8+: ea17a0f153af: phy: marvell: comphy: Convert --- a/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c -@@ -1154,7 +1154,9 @@ static int advk_pcie_enable_phy(struct a +@@ -1165,7 +1165,9 @@ static int advk_pcie_enable_phy(struct a } ret = phy_power_on(pcie->phy); diff --git a/target/linux/octeontx/patches-5.4/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch b/target/linux/octeontx/patches-5.4/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch index c19e4cf90d05..086fc0ab967c 100644 --- a/target/linux/octeontx/patches-5.4/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch +++ b/target/linux/octeontx/patches-5.4/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch @@ -21,8 +21,8 @@ Signed-off-by: Tim Harvey +#include #include #include - #include -@@ -5714,3 +5715,34 @@ static void apex_pci_fixup_class(struct + #include +@@ -5725,3 +5726,34 @@ static void apex_pci_fixup_class(struct } DECLARE_PCI_FIXUP_CLASS_HEADER(0x1ac1, 0x089a, PCI_CLASS_NOT_DEFINED, 8, apex_pci_fixup_class); diff --git a/target/linux/ramips/patches-5.4/0031-uvc-add-iPassion-iP2970-support.patch b/target/linux/ramips/patches-5.4/0031-uvc-add-iPassion-iP2970-support.patch index dbeee8a78b6f..306ae6cfdacb 100644 --- a/target/linux/ramips/patches-5.4/0031-uvc-add-iPassion-iP2970-support.patch +++ b/target/linux/ramips/patches-5.4/0031-uvc-add-iPassion-iP2970-support.patch @@ -64,7 +64,7 @@ Signed-off-by: John Crispin #include -@@ -1156,9 +1161,149 @@ static void uvc_video_decode_data(struct +@@ -1183,9 +1188,149 @@ static void uvc_video_decode_data(struct uvc_urb->async_operations++; } @@ -214,7 +214,7 @@ Signed-off-by: John Crispin /* Mark the buffer as done if the EOF marker is set. */ if (data[1] & UVC_STREAM_EOF && buf->bytesused != 0) { uvc_trace(UVC_TRACE_FRAME, "Frame complete (EOF found).\n"); -@@ -1715,6 +1860,8 @@ static int uvc_init_video_isoc(struct uv +@@ -1742,6 +1887,8 @@ static int uvc_init_video_isoc(struct uv if (npackets == 0) return -ENOMEM; -- 2.30.2