diff --git a/include/kernel-5.4 b/include/kernel-5.4 index 237d343eea72fe..51726063a0ae37 100644 --- a/include/kernel-5.4 +++ b/include/kernel-5.4 @@ -1,2 +1,2 @@ -LINUX_VERSION-5.4 = .203 -LINUX_KERNEL_HASH-5.4.203 = fc933f5b13066cfa54aacb5e86747a167bad1d8d23972e4a03ab5ee36c29798a +LINUX_VERSION-5.4 = .214 +LINUX_KERNEL_HASH-5.4.214 = 9abc79b4808c827eb82f8a44313ce6d3ade255949989bb98c11acda7ca3bc5db diff --git a/target/linux/apm821xx/patches-5.4/802-usb-xhci-force-msi-renesas-xhci.patch b/target/linux/apm821xx/patches-5.4/802-usb-xhci-force-msi-renesas-xhci.patch index 1362596097ff3b..fbcbc8db167faa 100644 --- a/target/linux/apm821xx/patches-5.4/802-usb-xhci-force-msi-renesas-xhci.patch +++ b/target/linux/apm821xx/patches-5.4/802-usb-xhci-force-msi-renesas-xhci.patch @@ -23,7 +23,7 @@ produce a noisy warning. xhci->quirks |= XHCI_RESET_ON_RESUME; --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c -@@ -425,10 +425,14 @@ static int xhci_try_enable_msi(struct us +@@ -427,10 +427,14 @@ static int xhci_try_enable_msi(struct us free_irq(hcd->irq, hcd); hcd->irq = 0; diff --git a/target/linux/ath25/patches-5.4/107-ar5312_gpio.patch b/target/linux/ath25/patches-5.4/107-ar5312_gpio.patch index 321ebc7fb83371..7b8c9650cc7ba8 100644 --- a/target/linux/ath25/patches-5.4/107-ar5312_gpio.patch +++ b/target/linux/ath25/patches-5.4/107-ar5312_gpio.patch @@ -202,7 +202,7 @@ +subsys_initcall(ar5312_gpio_init); --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig -@@ -192,6 +192,7 @@ config ATH25 +@@ -190,6 +190,7 @@ config ATH25 select CEVT_R4K select CSRC_R4K select DMA_NONCOHERENT diff --git a/target/linux/ath25/patches-5.4/140-redboot_boardconfig.patch b/target/linux/ath25/patches-5.4/140-redboot_boardconfig.patch index 81b23e863ee3a2..07d75b9fbae646 100644 --- a/target/linux/ath25/patches-5.4/140-redboot_boardconfig.patch +++ b/target/linux/ath25/patches-5.4/140-redboot_boardconfig.patch @@ -9,7 +9,7 @@ struct fis_image_desc { unsigned char name[16]; // Null terminated name uint32_t flash_base; // Address within FLASH of image -@@ -72,6 +74,7 @@ static int parse_redboot_partitions(stru +@@ -73,6 +75,7 @@ static int parse_redboot_partitions(stru const struct mtd_partition **pparts, struct mtd_part_parser_data *data) { @@ -17,7 +17,7 @@ int nrparts = 0; struct fis_image_desc *buf; struct mtd_partition *parts; -@@ -239,14 +242,15 @@ static int parse_redboot_partitions(stru +@@ -240,14 +243,15 @@ static int parse_redboot_partitions(stru } } #endif @@ -35,7 +35,7 @@ #ifdef CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED if (nulllen > 0) { strcpy(nullname, nullstring); -@@ -265,6 +269,8 @@ static int parse_redboot_partitions(stru +@@ -266,6 +270,8 @@ static int parse_redboot_partitions(stru } #endif for ( ; iimg->size; parts[i].offset = fl->img->flash_base; parts[i].name = names; -@@ -298,6 +304,13 @@ static int parse_redboot_partitions(stru +@@ -299,6 +305,13 @@ static int parse_redboot_partitions(stru fl = fl->next; kfree(tmp_fl); } diff --git a/target/linux/ath25/patches-5.4/141-redboot_partition_scan.patch b/target/linux/ath25/patches-5.4/141-redboot_partition_scan.patch index 343eedc0753e5d..68019f90eaad5a 100644 --- a/target/linux/ath25/patches-5.4/141-redboot_partition_scan.patch +++ b/target/linux/ath25/patches-5.4/141-redboot_partition_scan.patch @@ -1,6 +1,6 @@ --- a/drivers/mtd/parsers/redboot.c +++ b/drivers/mtd/parsers/redboot.c -@@ -93,12 +93,18 @@ static int parse_redboot_partitions(stru +@@ -94,12 +94,18 @@ static int parse_redboot_partitions(stru parse_redboot_of(master); @@ -19,7 +19,7 @@ return -EIO; } offset -= master->erasesize; -@@ -111,10 +117,6 @@ static int parse_redboot_partitions(stru +@@ -112,10 +118,6 @@ static int parse_redboot_partitions(stru goto nogood; } } @@ -30,7 +30,7 @@ printk(KERN_NOTICE "Searching for RedBoot partition table in %s at offset 0x%lx\n", master->name, offset); -@@ -187,6 +189,11 @@ static int parse_redboot_partitions(stru +@@ -188,6 +190,11 @@ static int parse_redboot_partitions(stru } if (i == numslots) { /* Didn't find it */ diff --git a/target/linux/ath25/patches-5.4/142-redboot_various_erase_size_fix.patch b/target/linux/ath25/patches-5.4/142-redboot_various_erase_size_fix.patch index 55cf84eeff8d9a..c3b73eabe9678f 100644 --- a/target/linux/ath25/patches-5.4/142-redboot_various_erase_size_fix.patch +++ b/target/linux/ath25/patches-5.4/142-redboot_various_erase_size_fix.patch @@ -1,6 +1,6 @@ --- a/drivers/mtd/parsers/redboot.c +++ b/drivers/mtd/parsers/redboot.c -@@ -70,6 +70,22 @@ static void parse_redboot_of(struct mtd_ +@@ -71,6 +71,22 @@ static void parse_redboot_of(struct mtd_ directory = dirblock; } @@ -23,7 +23,7 @@ static int parse_redboot_partitions(struct mtd_info *master, const struct mtd_partition **pparts, struct mtd_part_parser_data *data) -@@ -86,6 +102,7 @@ static int parse_redboot_partitions(stru +@@ -87,6 +103,7 @@ static int parse_redboot_partitions(stru int namelen = 0; int nulllen = 0; int numslots; @@ -31,7 +31,7 @@ unsigned long offset; #ifdef CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED static char nullstring[] = "unallocated"; -@@ -200,7 +217,10 @@ static int parse_redboot_partitions(stru +@@ -201,7 +218,10 @@ static int parse_redboot_partitions(stru goto out; } @@ -43,7 +43,7 @@ struct fis_list *new_fl, **prev; if (buf[i].name[0] == 0xff) { -@@ -276,12 +296,13 @@ static int parse_redboot_partitions(stru +@@ -277,12 +297,13 @@ static int parse_redboot_partitions(stru } #endif for ( ; iimg->name); #ifdef CONFIG_MTD_REDBOOT_PARTS_READONLY if (!memcmp(names, "RedBoot", 8) || -@@ -311,7 +332,9 @@ static int parse_redboot_partitions(stru +@@ -312,7 +333,9 @@ static int parse_redboot_partitions(stru fl = fl->next; kfree(tmp_fl); } diff --git a/target/linux/ath79/patches-5.4/0032-MIPS-ath79-sanitize-symbols.patch b/target/linux/ath79/patches-5.4/0032-MIPS-ath79-sanitize-symbols.patch index 3d79121e9408db..9fa199a2046e35 100644 --- a/target/linux/ath79/patches-5.4/0032-MIPS-ath79-sanitize-symbols.patch +++ b/target/linux/ath79/patches-5.4/0032-MIPS-ath79-sanitize-symbols.patch @@ -15,7 +15,7 @@ Signed-off-by: John Crispin --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig -@@ -220,6 +220,8 @@ config ATH79 +@@ -218,6 +218,8 @@ config ATH79 select SYS_SUPPORTS_BIG_ENDIAN select SYS_SUPPORTS_MIPS16 select SYS_SUPPORTS_ZBOOT_UART_PROM diff --git a/target/linux/ath79/patches-5.4/0036-GPIO-add-named-gpio-exports.patch b/target/linux/ath79/patches-5.4/0036-GPIO-add-named-gpio-exports.patch index 805836fcca3655..a7f1a48bd94734 100644 --- a/target/linux/ath79/patches-5.4/0036-GPIO-add-named-gpio-exports.patch +++ b/target/linux/ath79/patches-5.4/0036-GPIO-add-named-gpio-exports.patch @@ -22,7 +22,7 @@ Signed-off-by: John Crispin #include "gpiolib.h" #include "gpiolib-of.h" -@@ -915,3 +917,68 @@ void of_gpiochip_remove(struct gpio_chip +@@ -917,3 +919,68 @@ void of_gpiochip_remove(struct gpio_chip { of_node_put(chip->of_node); } diff --git a/target/linux/ath79/patches-5.4/408-mtd-redboot_partition_scan.patch b/target/linux/ath79/patches-5.4/408-mtd-redboot_partition_scan.patch index e5b06e14a56837..ad5257fabd5dfa 100644 --- a/target/linux/ath79/patches-5.4/408-mtd-redboot_partition_scan.patch +++ b/target/linux/ath79/patches-5.4/408-mtd-redboot_partition_scan.patch @@ -1,6 +1,6 @@ --- a/drivers/mtd/parsers/redboot.c +++ b/drivers/mtd/parsers/redboot.c -@@ -90,12 +90,18 @@ static int parse_redboot_partitions(stru +@@ -91,12 +91,18 @@ static int parse_redboot_partitions(stru parse_redboot_of(master); @@ -19,7 +19,7 @@ return -EIO; } offset -= master->erasesize; -@@ -108,10 +114,6 @@ static int parse_redboot_partitions(stru +@@ -109,10 +115,6 @@ static int parse_redboot_partitions(stru goto nogood; } } @@ -30,7 +30,7 @@ printk(KERN_NOTICE "Searching for RedBoot partition table in %s at offset 0x%lx\n", master->name, offset); -@@ -184,6 +186,11 @@ static int parse_redboot_partitions(stru +@@ -185,6 +187,11 @@ static int parse_redboot_partitions(stru } if (i == numslots) { /* Didn't find it */ diff --git a/target/linux/ath79/patches-5.4/910-unaligned_access_hacks.patch b/target/linux/ath79/patches-5.4/910-unaligned_access_hacks.patch index 7ed642fb5bdab3..12c23d8d1d958e 100644 --- a/target/linux/ath79/patches-5.4/910-unaligned_access_hacks.patch +++ b/target/linux/ath79/patches-5.4/910-unaligned_access_hacks.patch @@ -305,7 +305,7 @@ list_for_each_entry(p, head, list) { --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c -@@ -460,48 +460,53 @@ static void tcp_options_write(__be32 *pt +@@ -461,48 +461,53 @@ static void tcp_options_write(__be32 *pt u16 options = opts->options; /* mungable copy */ if (unlikely(OPTION_MD5 & options)) { @@ -382,7 +382,7 @@ } if (unlikely(opts->num_sack_blocks)) { -@@ -509,16 +514,17 @@ static void tcp_options_write(__be32 *pt +@@ -510,16 +515,17 @@ static void tcp_options_write(__be32 *pt tp->duplicate_sack : tp->selective_acks; int this_sack; @@ -406,7 +406,7 @@ } tp->rx_opt.dsack = 0; -@@ -531,13 +537,14 @@ static void tcp_options_write(__be32 *pt +@@ -532,13 +538,14 @@ static void tcp_options_write(__be32 *pt if (foc->exp) { len = TCPOLEN_EXP_FASTOPEN_BASE + foc->len; @@ -682,7 +682,7 @@ struct fib6_info *fib6_info_alloc(gfp_t gfp_flags, bool with_fib6_nh) --- a/net/netfilter/nf_conntrack_proto_tcp.c +++ b/net/netfilter/nf_conntrack_proto_tcp.c -@@ -415,7 +415,7 @@ static void tcp_sack(const struct sk_buf +@@ -423,7 +423,7 @@ static void tcp_sack(const struct sk_buf /* Fast path for timestamp-only option */ if (length == TCPOLEN_TSTAMP_ALIGNED @@ -706,7 +706,7 @@ EXPORT_SYMBOL(xfrm_parse_spi); --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c -@@ -3980,14 +3980,16 @@ static bool tcp_parse_aligned_timestamp( +@@ -3997,14 +3997,16 @@ static bool tcp_parse_aligned_timestamp( { const __be32 *ptr = (const __be32 *)(th + 1); @@ -799,7 +799,7 @@ *sum = csum_fold(csum_partial(diff, sizeof(diff), --- a/include/linux/etherdevice.h +++ b/include/linux/etherdevice.h -@@ -489,7 +489,7 @@ static inline bool is_etherdev_addr(cons +@@ -488,7 +488,7 @@ static inline bool is_etherdev_addr(cons * @b: Pointer to Ethernet header * * Compare two Ethernet headers, returns 0 if equal. @@ -808,7 +808,7 @@ * aligned OR the platform can handle unaligned access. This is the * case for all packets coming into netif_receive_skb or similar * entry points. -@@ -512,11 +512,12 @@ static inline unsigned long compare_ethe +@@ -511,11 +511,12 @@ static inline unsigned long compare_ethe fold |= *(unsigned long *)(a + 6) ^ *(unsigned long *)(b + 6); return fold; #else diff --git a/target/linux/bcm4908/patches-5.4/071-v5.12-0001-net-dsa-bcm_sf2-support-BCM4908-s-integrated-switch.patch b/target/linux/bcm4908/patches-5.4/071-v5.12-0001-net-dsa-bcm_sf2-support-BCM4908-s-integrated-switch.patch index a75898bf0c81a6..766db3e6418846 100644 --- a/target/linux/bcm4908/patches-5.4/071-v5.12-0001-net-dsa-bcm_sf2-support-BCM4908-s-integrated-switch.patch +++ b/target/linux/bcm4908/patches-5.4/071-v5.12-0001-net-dsa-bcm_sf2-support-BCM4908-s-integrated-switch.patch @@ -78,7 +78,7 @@ Signed-off-by: Jakub Kicinski offset = CORE_STS_OVERRIDE_GMIIP_PORT(port); else offset = CORE_STS_OVERRIDE_GMIIP2_PORT(port); -@@ -985,6 +987,30 @@ struct bcm_sf2_of_data { +@@ -990,6 +992,30 @@ struct bcm_sf2_of_data { unsigned int num_cfp_rules; }; @@ -109,7 +109,7 @@ Signed-off-by: Jakub Kicinski /* Register offsets for the SWITCH_REG_* block */ static const u16 bcm_sf2_7445_reg_offsets[] = { [REG_SWITCH_CNTRL] = 0x00, -@@ -1033,6 +1059,9 @@ static const struct bcm_sf2_of_data bcm_ +@@ -1038,6 +1064,9 @@ static const struct bcm_sf2_of_data bcm_ }; static const struct of_device_id bcm_sf2_of_match[] = { diff --git a/target/linux/bcm4908/patches-5.4/075-v5.13-0002-net-dsa-bcm_sf2-setup-BCM4908-internal-crossbar.patch b/target/linux/bcm4908/patches-5.4/075-v5.13-0002-net-dsa-bcm_sf2-setup-BCM4908-internal-crossbar.patch index b0626ba71e5de0..09fb5dbd1585d2 100644 --- a/target/linux/bcm4908/patches-5.4/075-v5.13-0002-net-dsa-bcm_sf2-setup-BCM4908-internal-crossbar.patch +++ b/target/linux/bcm4908/patches-5.4/075-v5.13-0002-net-dsa-bcm_sf2-setup-BCM4908-internal-crossbar.patch @@ -82,7 +82,7 @@ Signed-off-by: David S. Miller static void bcm_sf2_intr_disable(struct bcm_sf2_priv *priv) { intrl2_0_mask_set(priv, 0xffffffff); -@@ -734,6 +772,8 @@ static int bcm_sf2_sw_resume(struct dsa_ +@@ -739,6 +777,8 @@ static int bcm_sf2_sw_resume(struct dsa_ return ret; } @@ -91,7 +91,7 @@ Signed-off-by: David S. Miller ret = bcm_sf2_cfp_resume(ds); if (ret) return ret; -@@ -996,6 +1036,7 @@ struct bcm_sf2_of_data { +@@ -1001,6 +1041,7 @@ struct bcm_sf2_of_data { const u16 *reg_offsets; unsigned int core_reg_align; unsigned int num_cfp_rules; @@ -99,7 +99,7 @@ Signed-off-by: David S. Miller }; static const u16 bcm_sf2_4908_reg_offsets[] = { -@@ -1020,6 +1061,7 @@ static const struct bcm_sf2_of_data bcm_ +@@ -1025,6 +1066,7 @@ static const struct bcm_sf2_of_data bcm_ .core_reg_align = 0, .reg_offsets = bcm_sf2_4908_reg_offsets, .num_cfp_rules = 0, /* FIXME */ @@ -107,7 +107,7 @@ Signed-off-by: David S. Miller }; /* Register offsets for the SWITCH_REG_* block */ -@@ -1130,6 +1172,7 @@ static int bcm_sf2_sw_probe(struct platf +@@ -1135,6 +1177,7 @@ static int bcm_sf2_sw_probe(struct platf priv->reg_offsets = data->reg_offsets; priv->core_reg_align = data->core_reg_align; priv->num_cfp_rules = data->num_cfp_rules; @@ -115,7 +115,7 @@ Signed-off-by: David S. Miller /* Auto-detection using standard registers will not work, so * provide an indication of what kind of device we are for -@@ -1184,6 +1227,8 @@ static int bcm_sf2_sw_probe(struct platf +@@ -1189,6 +1232,8 @@ static int bcm_sf2_sw_probe(struct platf return ret; } diff --git a/target/linux/bcm4908/patches-5.4/075-v5.13-0003-net-dsa-bcm_sf2-Fill-in-BCM4908-CFP-entries.patch b/target/linux/bcm4908/patches-5.4/075-v5.13-0003-net-dsa-bcm_sf2-Fill-in-BCM4908-CFP-entries.patch index 06d631f691aa98..8b5332cddafbd7 100644 --- a/target/linux/bcm4908/patches-5.4/075-v5.13-0003-net-dsa-bcm_sf2-Fill-in-BCM4908-CFP-entries.patch +++ b/target/linux/bcm4908/patches-5.4/075-v5.13-0003-net-dsa-bcm_sf2-Fill-in-BCM4908-CFP-entries.patch @@ -14,7 +14,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/dsa/bcm_sf2.c +++ b/drivers/net/dsa/bcm_sf2.c -@@ -1060,7 +1060,7 @@ static const struct bcm_sf2_of_data bcm_ +@@ -1065,7 +1065,7 @@ static const struct bcm_sf2_of_data bcm_ .type = BCM4908_DEVICE_ID, .core_reg_align = 0, .reg_offsets = bcm_sf2_4908_reg_offsets, diff --git a/target/linux/bcm4908/patches-5.4/075-v5.13-0004-net-dsa-bcm_sf2-add-function-finding-RGMII-register.patch b/target/linux/bcm4908/patches-5.4/075-v5.13-0004-net-dsa-bcm_sf2-add-function-finding-RGMII-register.patch index c46fd1d3b58142..c6b724215f9fdd 100644 --- a/target/linux/bcm4908/patches-5.4/075-v5.13-0004-net-dsa-bcm_sf2-add-function-finding-RGMII-register.patch +++ b/target/linux/bcm4908/patches-5.4/075-v5.13-0004-net-dsa-bcm_sf2-add-function-finding-RGMII-register.patch @@ -88,7 +88,7 @@ Signed-off-by: David S. Miller force_link: /* Force link settings detected from the PHY */ -@@ -661,6 +689,7 @@ static void bcm_sf2_sw_mac_link_set(stru +@@ -666,6 +694,7 @@ static void bcm_sf2_sw_mac_link_set(stru phy_interface_t interface, bool link) { struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds); @@ -96,7 +96,7 @@ Signed-off-by: David S. Miller u32 reg; if (!phy_interface_mode_is_rgmii(interface) && -@@ -668,13 +697,15 @@ static void bcm_sf2_sw_mac_link_set(stru +@@ -673,13 +702,15 @@ static void bcm_sf2_sw_mac_link_set(stru interface != PHY_INTERFACE_MODE_REVMII) return; diff --git a/target/linux/bcm4908/patches-5.4/075-v5.13-0005-net-dsa-bcm_sf2-fix-BCM4908-RGMII-reg-s.patch b/target/linux/bcm4908/patches-5.4/075-v5.13-0005-net-dsa-bcm_sf2-fix-BCM4908-RGMII-reg-s.patch index d0783ea5e7a515..81f3ff5d4db498 100644 --- a/target/linux/bcm4908/patches-5.4/075-v5.13-0005-net-dsa-bcm_sf2-fix-BCM4908-RGMII-reg-s.patch +++ b/target/linux/bcm4908/patches-5.4/075-v5.13-0005-net-dsa-bcm_sf2-fix-BCM4908-RGMII-reg-s.patch @@ -33,7 +33,7 @@ Signed-off-by: David S. Miller break; default: switch (port) { -@@ -1079,9 +1084,7 @@ static const u16 bcm_sf2_4908_reg_offset +@@ -1084,9 +1089,7 @@ static const u16 bcm_sf2_4908_reg_offset [REG_PHY_REVISION] = 0x14, [REG_SPHY_CNTRL] = 0x24, [REG_CROSSBAR] = 0xc8, diff --git a/target/linux/bcm4908/patches-5.4/700-net-dsa-bcm_sf2-enable-GPHY-for-switch-probing.patch b/target/linux/bcm4908/patches-5.4/700-net-dsa-bcm_sf2-enable-GPHY-for-switch-probing.patch index c9e4c67376ea7a..58df6370611cbd 100644 --- a/target/linux/bcm4908/patches-5.4/700-net-dsa-bcm_sf2-enable-GPHY-for-switch-probing.patch +++ b/target/linux/bcm4908/patches-5.4/700-net-dsa-bcm_sf2-enable-GPHY-for-switch-probing.patch @@ -29,7 +29,7 @@ Signed-off-by: Rafał Miłecki --- a/drivers/net/dsa/bcm_sf2.c +++ b/drivers/net/dsa/bcm_sf2.c -@@ -1321,10 +1321,14 @@ static int bcm_sf2_sw_probe(struct platf +@@ -1326,10 +1326,14 @@ static int bcm_sf2_sw_probe(struct platf rev = reg_readl(priv, REG_PHY_REVISION); priv->hw_params.gphy_rev = rev & PHY_REVISION_MASK; diff --git a/target/linux/bcm4908/patches-5.4/701-net-dsa-bcm_sf2-keep-GPHY-enabled-on-the-BCM4908.patch b/target/linux/bcm4908/patches-5.4/701-net-dsa-bcm_sf2-keep-GPHY-enabled-on-the-BCM4908.patch index 5bc5bff2e9db5a..aecb68c5347322 100644 --- a/target/linux/bcm4908/patches-5.4/701-net-dsa-bcm_sf2-keep-GPHY-enabled-on-the-BCM4908.patch +++ b/target/linux/bcm4908/patches-5.4/701-net-dsa-bcm_sf2-keep-GPHY-enabled-on-the-BCM4908.patch @@ -15,7 +15,7 @@ Signed-off-by: Rafał Miłecki --- a/drivers/net/dsa/bcm_sf2.c +++ b/drivers/net/dsa/bcm_sf2.c -@@ -1335,6 +1335,12 @@ static int bcm_sf2_sw_probe(struct platf +@@ -1340,6 +1340,12 @@ static int bcm_sf2_sw_probe(struct platf priv->hw_params.core_rev >> 8, priv->hw_params.core_rev & 0xff, priv->irq0, priv->irq1); diff --git a/target/linux/bcm53xx/patches-5.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch b/target/linux/bcm53xx/patches-5.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch index 9b832e7de9fc8c..aa6339935eb77a 100644 --- a/target/linux/bcm53xx/patches-5.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch +++ b/target/linux/bcm53xx/patches-5.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch @@ -40,7 +40,7 @@ it on BCM4708 family. /* called during probe() after chip reset completes */ --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c -@@ -156,6 +156,49 @@ int xhci_start(struct xhci_hcd *xhci) +@@ -158,6 +158,49 @@ int xhci_start(struct xhci_hcd *xhci) return ret; } @@ -90,7 +90,7 @@ it on BCM4708 family. /* * Reset a halted HC. * -@@ -606,10 +649,20 @@ static int xhci_init(struct usb_hcd *hcd +@@ -608,10 +651,20 @@ static int xhci_init(struct usb_hcd *hcd static int xhci_run_finished(struct xhci_hcd *xhci) { @@ -114,7 +114,7 @@ it on BCM4708 family. xhci->shared_hcd->state = HC_STATE_RUNNING; xhci->cmd_ring_state = CMD_RING_STATE_RUNNING; -@@ -619,6 +672,10 @@ static int xhci_run_finished(struct xhci +@@ -621,6 +674,10 @@ static int xhci_run_finished(struct xhci xhci_dbg_trace(xhci, trace_xhci_dbg_init, "Finished xhci_run for USB3 roothub"); return 0; diff --git a/target/linux/bcm53xx/patches-5.4/906-BCM5301x-uart1.patch b/target/linux/bcm53xx/patches-5.4/906-BCM5301x-uart1.patch index 24596505890f7a..de0c6225fea483 100644 --- a/target/linux/bcm53xx/patches-5.4/906-BCM5301x-uart1.patch +++ b/target/linux/bcm53xx/patches-5.4/906-BCM5301x-uart1.patch @@ -1,6 +1,5 @@ -diff -Nuar a/arch/arm/boot/dts/bcm5301x.dtsi b/arch/arm/boot/dts/bcm5301x.dtsi ---- a/arch/arm/boot/dts/bcm5301x.dtsi 2021-12-29 16:55:29.441523015 +0800 -+++ b/arch/arm/boot/dts/bcm5301x.dtsi 2021-12-29 17:03:44.640694605 +0800 +--- a/arch/arm/boot/dts/bcm5301x.dtsi ++++ b/arch/arm/boot/dts/bcm5301x.dtsi @@ -38,8 +38,6 @@ reg = <0x0400 0x100>; interrupts = ; diff --git a/target/linux/bcm63xx/patches-5.4/143-gpio-fix-device-tree-gpio-hogs-on-dual-role-gpio-pin.patch b/target/linux/bcm63xx/patches-5.4/143-gpio-fix-device-tree-gpio-hogs-on-dual-role-gpio-pin.patch index ea836b8a806d71..500405e234fdfa 100644 --- a/target/linux/bcm63xx/patches-5.4/143-gpio-fix-device-tree-gpio-hogs-on-dual-role-gpio-pin.patch +++ b/target/linux/bcm63xx/patches-5.4/143-gpio-fix-device-tree-gpio-hogs-on-dual-role-gpio-pin.patch @@ -68,7 +68,7 @@ Signed-off-by: Jonas Gorski ret = gpiod_hog(desc, name, lflags, dflags); if (ret < 0) { of_node_put(np); -@@ -904,9 +911,11 @@ int of_gpiochip_add(struct gpio_chip *ch +@@ -906,9 +913,11 @@ int of_gpiochip_add(struct gpio_chip *ch of_node_get(chip->of_node); diff --git a/target/linux/bcm63xx/patches-5.4/400-bcm963xx_flashmap.patch b/target/linux/bcm63xx/patches-5.4/400-bcm963xx_flashmap.patch index 5a9532c3214890..bb43576b85ccc9 100644 --- a/target/linux/bcm63xx/patches-5.4/400-bcm963xx_flashmap.patch +++ b/target/linux/bcm63xx/patches-5.4/400-bcm963xx_flashmap.patch @@ -23,7 +23,7 @@ Signed-off-by: Axel Gembe .width = 2, --- a/drivers/mtd/parsers/redboot.c +++ b/drivers/mtd/parsers/redboot.c -@@ -84,6 +84,7 @@ static int parse_redboot_partitions(stru +@@ -85,6 +85,7 @@ static int parse_redboot_partitions(stru int nulllen = 0; int numslots; unsigned long offset; @@ -31,7 +31,7 @@ Signed-off-by: Axel Gembe #ifdef CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED static char nullstring[] = "unallocated"; #endif -@@ -190,6 +191,16 @@ static int parse_redboot_partitions(stru +@@ -191,6 +192,16 @@ static int parse_redboot_partitions(stru goto out; } @@ -48,7 +48,7 @@ Signed-off-by: Axel Gembe for (i = 0; i < numslots; i++) { struct fis_list *new_fl, **prev; -@@ -210,10 +221,10 @@ static int parse_redboot_partitions(stru +@@ -211,10 +222,10 @@ static int parse_redboot_partitions(stru goto out; } new_fl->img = &buf[i]; diff --git a/target/linux/generic/backport-5.4/080-wireguard-0005-crypto-arm64-chacha-depend-on-generic-chacha-library.patch b/target/linux/generic/backport-5.4/080-wireguard-0005-crypto-arm64-chacha-depend-on-generic-chacha-library.patch index 10e49c192c8e56..e12e9d115397d0 100644 --- a/target/linux/generic/backport-5.4/080-wireguard-0005-crypto-arm64-chacha-depend-on-generic-chacha-library.patch +++ b/target/linux/generic/backport-5.4/080-wireguard-0005-crypto-arm64-chacha-depend-on-generic-chacha-library.patch @@ -26,7 +26,7 @@ Signed-off-by: Jason A. Donenfeld --- a/arch/arm64/crypto/Kconfig +++ b/arch/arm64/crypto/Kconfig -@@ -103,7 +103,7 @@ config CRYPTO_CHACHA20_NEON +@@ -104,7 +104,7 @@ config CRYPTO_CHACHA20_NEON tristate "ChaCha20, XChaCha20, and XChaCha12 stream ciphers using NEON instructions" depends on KERNEL_MODE_NEON select CRYPTO_BLKCIPHER diff --git a/target/linux/generic/backport-5.4/080-wireguard-0006-crypto-arm64-chacha-expose-arm64-ChaCha-routine-as-l.patch b/target/linux/generic/backport-5.4/080-wireguard-0006-crypto-arm64-chacha-expose-arm64-ChaCha-routine-as-l.patch index 71665e8bfdb5ef..e4f3324254d705 100644 --- a/target/linux/generic/backport-5.4/080-wireguard-0006-crypto-arm64-chacha-expose-arm64-ChaCha-routine-as-l.patch +++ b/target/linux/generic/backport-5.4/080-wireguard-0006-crypto-arm64-chacha-expose-arm64-ChaCha-routine-as-l.patch @@ -25,7 +25,7 @@ Signed-off-by: Jason A. Donenfeld --- a/arch/arm64/crypto/Kconfig +++ b/arch/arm64/crypto/Kconfig -@@ -104,6 +104,7 @@ config CRYPTO_CHACHA20_NEON +@@ -105,6 +105,7 @@ config CRYPTO_CHACHA20_NEON depends on KERNEL_MODE_NEON select CRYPTO_BLKCIPHER select CRYPTO_LIB_CHACHA_GENERIC diff --git a/target/linux/generic/backport-5.4/080-wireguard-0018-crypto-arm64-poly1305-incorporate-OpenSSL-CRYPTOGAMS.patch b/target/linux/generic/backport-5.4/080-wireguard-0018-crypto-arm64-poly1305-incorporate-OpenSSL-CRYPTOGAMS.patch index 464c6568f66db4..35091ac234e744 100644 --- a/target/linux/generic/backport-5.4/080-wireguard-0018-crypto-arm64-poly1305-incorporate-OpenSSL-CRYPTOGAMS.patch +++ b/target/linux/generic/backport-5.4/080-wireguard-0018-crypto-arm64-poly1305-incorporate-OpenSSL-CRYPTOGAMS.patch @@ -34,7 +34,7 @@ Signed-off-by: Jason A. Donenfeld --- a/arch/arm64/crypto/Kconfig +++ b/arch/arm64/crypto/Kconfig -@@ -106,6 +106,12 @@ config CRYPTO_CHACHA20_NEON +@@ -107,6 +107,12 @@ config CRYPTO_CHACHA20_NEON select CRYPTO_LIB_CHACHA_GENERIC select CRYPTO_ARCH_HAVE_LIB_CHACHA diff --git a/target/linux/generic/backport-5.4/700-v5.5-net-core-allow-fast-GRO-for-skbs-with-Ethernet-heade.patch b/target/linux/generic/backport-5.4/700-v5.5-net-core-allow-fast-GRO-for-skbs-with-Ethernet-heade.patch index e7f4016a1f18ab..31e73182e9d561 100644 --- a/target/linux/generic/backport-5.4/700-v5.5-net-core-allow-fast-GRO-for-skbs-with-Ethernet-heade.patch +++ b/target/linux/generic/backport-5.4/700-v5.5-net-core-allow-fast-GRO-for-skbs-with-Ethernet-heade.patch @@ -66,7 +66,7 @@ Signed-off-by: David S. Miller --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -5435,8 +5435,7 @@ static inline void skb_gro_reset_offset( +@@ -5436,8 +5436,7 @@ static inline void skb_gro_reset_offset( NAPI_GRO_CB(skb)->frag0 = NULL; NAPI_GRO_CB(skb)->frag0_len = 0; diff --git a/target/linux/generic/backport-5.4/781-v5.18-1-net-dsa-Move-VLAN-filtering-syncing-out-of-dsa_switc.patch b/target/linux/generic/backport-5.4/781-v5.18-1-net-dsa-Move-VLAN-filtering-syncing-out-of-dsa_switc.patch index e710ed591b8ee1..e90977c602a779 100644 --- a/target/linux/generic/backport-5.4/781-v5.18-1-net-dsa-Move-VLAN-filtering-syncing-out-of-dsa_switc.patch +++ b/target/linux/generic/backport-5.4/781-v5.18-1-net-dsa-Move-VLAN-filtering-syncing-out-of-dsa_switc.patch @@ -22,11 +22,9 @@ Signed-off-by: Marek Behún net/dsa/switch.c | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) -diff --git a/net/dsa/switch.c b/net/dsa/switch.c -index 6a9607518823..dd71e3301b27 100644 --- a/net/dsa/switch.c +++ b/net/dsa/switch.c -@@ -65,19 +65,12 @@ static int dsa_switch_bridge_join(struct dsa_switch *ds, +@@ -65,19 +65,12 @@ static int dsa_switch_bridge_join(struct return 0; } @@ -48,7 +46,7 @@ index 6a9607518823..dd71e3301b27 100644 /* If the bridge was vlan_filtering, the bridge core doesn't trigger an * event for changing vlan_filtering setting upon slave ports leaving * it. That is a good thing, because that lets us handle it and also -@@ -103,6 +96,26 @@ static int dsa_switch_bridge_leave(struct dsa_switch *ds, +@@ -103,6 +96,26 @@ static int dsa_switch_bridge_leave(struc if (err && err != EOPNOTSUPP) return err; } @@ -75,6 +73,3 @@ index 6a9607518823..dd71e3301b27 100644 return 0; } --- -2.34.1 - diff --git a/target/linux/generic/backport-5.4/781-v5.18-2-net-dsa-Avoid-cross-chip-syncing-of-VLAN-filtering.patch b/target/linux/generic/backport-5.4/781-v5.18-2-net-dsa-Avoid-cross-chip-syncing-of-VLAN-filtering.patch index a5f37457c7600c..983cc454e84f81 100644 --- a/target/linux/generic/backport-5.4/781-v5.18-2-net-dsa-Avoid-cross-chip-syncing-of-VLAN-filtering.patch +++ b/target/linux/generic/backport-5.4/781-v5.18-2-net-dsa-Avoid-cross-chip-syncing-of-VLAN-filtering.patch @@ -39,11 +39,9 @@ Signed-off-by: Marek Behún net/dsa/switch.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) -diff --git a/net/dsa/switch.c b/net/dsa/switch.c -index dd71e3301b27..f517d6d7efa2 100644 --- a/net/dsa/switch.c +++ b/net/dsa/switch.c -@@ -112,9 +112,11 @@ static int dsa_switch_bridge_leave(struct dsa_switch *ds, +@@ -112,9 +112,11 @@ static int dsa_switch_bridge_leave(struc ds->ops->crosschip_bridge_leave(ds, info->sw_index, info->port, info->br); @@ -58,6 +56,3 @@ index dd71e3301b27..f517d6d7efa2 100644 return 0; } --- -2.34.1 - diff --git a/target/linux/generic/backport-5.4/782-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch b/target/linux/generic/backport-5.4/782-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch index 85de8cb2c308ce..dbb479d8737e18 100644 --- a/target/linux/generic/backport-5.4/782-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch +++ b/target/linux/generic/backport-5.4/782-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch @@ -1126,7 +1126,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-dwc-qos-eth.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-dwc-qos-eth.c -@@ -438,7 +438,7 @@ static int dwc_eth_dwmac_probe(struct pl +@@ -439,7 +439,7 @@ static int dwc_eth_dwmac_probe(struct pl if (IS_ERR(stmmac_res.addr)) return PTR_ERR(stmmac_res.addr); diff --git a/target/linux/generic/hack-5.4/250-netfilter_depends.patch b/target/linux/generic/hack-5.4/250-netfilter_depends.patch index d03cb53180abe0..17a5e758cd68a3 100644 --- a/target/linux/generic/hack-5.4/250-netfilter_depends.patch +++ b/target/linux/generic/hack-5.4/250-netfilter_depends.patch @@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig -@@ -228,7 +228,6 @@ config NF_CONNTRACK_FTP +@@ -227,7 +227,6 @@ config NF_CONNTRACK_FTP config NF_CONNTRACK_H323 tristate "H.323 protocol support" @@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau depends on NETFILTER_ADVANCED help H.323 is a VoIP signalling protocol from ITU-T. As one of the most -@@ -1088,7 +1087,6 @@ config NETFILTER_XT_TARGET_SECMARK +@@ -1087,7 +1086,6 @@ config NETFILTER_XT_TARGET_SECMARK config NETFILTER_XT_TARGET_TCPMSS tristate '"TCPMSS" target support' diff --git a/target/linux/generic/hack-5.4/321-powerpc_crtsavres_prereq.patch b/target/linux/generic/hack-5.4/321-powerpc_crtsavres_prereq.patch index 8591705eaea2c5..005c46a3d7e638 100644 --- a/target/linux/generic/hack-5.4/321-powerpc_crtsavres_prereq.patch +++ b/target/linux/generic/hack-5.4/321-powerpc_crtsavres_prereq.patch @@ -16,7 +16,7 @@ Signed-off-by: Alexandros C. Couloumbis --- a/arch/powerpc/Makefile +++ b/arch/powerpc/Makefile -@@ -61,20 +61,6 @@ machine-$(CONFIG_PPC64) += 64 +@@ -44,20 +44,6 @@ machine-$(CONFIG_PPC64) += 64 machine-$(CONFIG_CPU_LITTLE_ENDIAN) += le UTS_MACHINE := $(subst $(space),,$(machine-y)) diff --git a/target/linux/generic/hack-5.4/550-loop-Report-EOPNOTSUPP-properly.patch b/target/linux/generic/hack-5.4/550-loop-Report-EOPNOTSUPP-properly.patch index 0e5447d454b930..29a8d84e46eb3c 100644 --- a/target/linux/generic/hack-5.4/550-loop-Report-EOPNOTSUPP-properly.patch +++ b/target/linux/generic/hack-5.4/550-loop-Report-EOPNOTSUPP-properly.patch @@ -27,7 +27,7 @@ Reviewed-by: Bart Van Assche goto end_io; } -@@ -1973,7 +1973,10 @@ static void loop_handle_cmd(struct loop_ +@@ -1978,7 +1978,10 @@ static void loop_handle_cmd(struct loop_ failed: /* complete non-aio request */ if (!cmd->use_aio || ret) { diff --git a/target/linux/generic/hack-5.4/601-netfilter-export-udp_get_timeouts-function.patch b/target/linux/generic/hack-5.4/601-netfilter-export-udp_get_timeouts-function.patch index 3c28843a211a4b..ef3fba22839097 100644 --- a/target/linux/generic/hack-5.4/601-netfilter-export-udp_get_timeouts-function.patch +++ b/target/linux/generic/hack-5.4/601-netfilter-export-udp_get_timeouts-function.patch @@ -8,23 +8,18 @@ Subject: [PATCH] net: patch linux kernel to support shortcut-fe-cm nf_conntrack_timeout.h | 2 + 1 file changed, 2 insertion(+) -diff --git a/include/net/netfilter/nf_conntrack_timeout.h b/include/net/netfilter/nf_conntrack_timeout.h -index 6dd7239..e1f6d69 100644 --- a/include/net/netfilter/nf_conntrack_timeout.h +++ b/include/net/netfilter/nf_conntrack_timeout.h -@@ -123,5 +123,7 @@ static inline void nf_ct_destroy_timeout(struct nf_conn *ct) - extern struct nf_ct_timeout *(*nf_ct_timeout_find_get_hook)(struct net *net, const char *name); +@@ -124,4 +124,6 @@ extern struct nf_ct_timeout *(*nf_ct_tim extern void (*nf_ct_timeout_put_hook)(struct nf_ct_timeout *timeout); #endif -+ -+extern unsigned int *udp_get_timeouts(struct net *net); ++extern unsigned int *udp_get_timeouts(struct net *net); ++ #endif /* _NF_CONNTRACK_TIMEOUT_H */ -diff --git a/net/netfilter/nf_conntrack_proto_udp.c b/net/netfilter/nf_conntrack_proto_udp.c -index 7365b43..2238d55 100644 --- a/net/netfilter/nf_conntrack_proto_udp.c +++ b/net/netfilter/nf_conntrack_proto_udp.c -@@ -29,10 +29,11 @@ static const unsigned int udp_timeouts[UDP_CT_MAX] = { +@@ -29,10 +29,11 @@ static const unsigned int udp_timeouts[U [UDP_CT_REPLIED] = 120*HZ, }; @@ -37,6 +32,3 @@ index 7365b43..2238d55 100644 static void udp_error_log(const struct sk_buff *skb, const struct nf_hook_state *state, --- -2.17.1 - diff --git a/target/linux/generic/hack-5.4/650-netfilter-add-xt_OFFLOAD-target.patch b/target/linux/generic/hack-5.4/650-netfilter-add-xt_OFFLOAD-target.patch index 0da4ad4432c2e5..8d9fec06fa41cd 100644 --- a/target/linux/generic/hack-5.4/650-netfilter-add-xt_OFFLOAD-target.patch +++ b/target/linux/generic/hack-5.4/650-netfilter-add-xt_OFFLOAD-target.patch @@ -47,7 +47,7 @@ Signed-off-by: Felix Fietkau depends on !NF_CONNTRACK || NF_CONNTRACK --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig -@@ -690,8 +690,6 @@ config NFT_FIB_NETDEV +@@ -689,8 +689,6 @@ config NFT_FIB_NETDEV endif # NF_TABLES_NETDEV @@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau config NF_FLOW_TABLE_INET tristate "Netfilter flow table mixed IPv4/IPv6 module" depends on NF_FLOW_TABLE -@@ -700,11 +698,12 @@ config NF_FLOW_TABLE_INET +@@ -699,11 +697,12 @@ config NF_FLOW_TABLE_INET To compile it as a module, choose M here. @@ -70,7 +70,7 @@ Signed-off-by: Felix Fietkau help This option adds the flow table core infrastructure. -@@ -993,6 +992,15 @@ config NETFILTER_XT_TARGET_NOTRACK +@@ -992,6 +991,15 @@ config NETFILTER_XT_TARGET_NOTRACK depends on NETFILTER_ADVANCED select NETFILTER_XT_TARGET_CT diff --git a/target/linux/generic/hack-5.4/721-phy_packets.patch b/target/linux/generic/hack-5.4/721-phy_packets.patch index 268e9df051df7b..5fbc91b5c14b45 100644 --- a/target/linux/generic/hack-5.4/721-phy_packets.patch +++ b/target/linux/generic/hack-5.4/721-phy_packets.patch @@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau */ --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -2684,6 +2684,10 @@ static inline int pskb_trim(struct sk_bu +@@ -2692,6 +2692,10 @@ static inline int pskb_trim(struct sk_bu return (len < skb->len) ? __pskb_trim(skb, len) : 0; } @@ -67,7 +67,7 @@ Signed-off-by: Felix Fietkau /** * pskb_trim_unique - remove end from a paged unique (not cloned) buffer * @skb: buffer to alter -@@ -2815,16 +2819,6 @@ static inline struct sk_buff *dev_alloc_ +@@ -2823,16 +2827,6 @@ static inline struct sk_buff *dev_alloc_ } diff --git a/target/linux/generic/hack-5.4/952-net-conntrack-events-support-multiple-registrant.patch b/target/linux/generic/hack-5.4/952-net-conntrack-events-support-multiple-registrant.patch index c763449594217e..e01728fc68e603 100644 --- a/target/linux/generic/hack-5.4/952-net-conntrack-events-support-multiple-registrant.patch +++ b/target/linux/generic/hack-5.4/952-net-conntrack-events-support-multiple-registrant.patch @@ -98,7 +98,7 @@ Signed-off-by: Zhi Chen #if defined(CONFIG_NF_CONNTRACK_LABELS) --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig -@@ -136,6 +136,14 @@ config NF_CONNTRACK_EVENTS +@@ -135,6 +135,14 @@ config NF_CONNTRACK_EVENTS If unsure, say `N'. diff --git a/target/linux/generic/hack-5.4/953-net-patch-linux-kernel-to-support-shortcut-fe.patch b/target/linux/generic/hack-5.4/953-net-patch-linux-kernel-to-support-shortcut-fe.patch index 57b40292986bdb..360821a8c69aed 100644 --- a/target/linux/generic/hack-5.4/953-net-patch-linux-kernel-to-support-shortcut-fe.patch +++ b/target/linux/generic/hack-5.4/953-net-patch-linux-kernel-to-support-shortcut-fe.patch @@ -99,7 +99,7 @@ #ifdef CONFIG_ETHERNET_PACKET_MANGLE if (!dev->eth_mangle_tx || (skb = dev->eth_mangle_tx(dev, skb)) != NULL) -@@ -4714,6 +4722,11 @@ void netdev_rx_handler_unregister(struct +@@ -4715,6 +4723,11 @@ void netdev_rx_handler_unregister(struct } EXPORT_SYMBOL_GPL(netdev_rx_handler_unregister); @@ -111,7 +111,7 @@ /* * Limit the use of PFMEMALLOC reserves to those protocols that implement * the special handling of PFMEMALLOC skbs. -@@ -4764,6 +4777,10 @@ static int __netif_receive_skb_core(stru +@@ -4765,6 +4778,10 @@ static int __netif_receive_skb_core(stru int ret = NET_RX_DROP; __be16 type; @@ -119,10 +119,10 @@ + int (*fast_recv)(struct sk_buff *skb); +#endif + - net_timestamp_check(!netdev_tstamp_prequeue, skb); + net_timestamp_check(!READ_ONCE(netdev_tstamp_prequeue), skb); trace_netif_receive_skb(skb); -@@ -4803,6 +4820,16 @@ another_round: +@@ -4804,6 +4821,16 @@ another_round: goto out; } diff --git a/target/linux/generic/hack-5.4/996-fs-ntfs3-Add-NTFS3-in-fs-Kconfig-and-fs-Makefile.patch b/target/linux/generic/hack-5.4/996-fs-ntfs3-Add-NTFS3-in-fs-Kconfig-and-fs-Makefile.patch index 86108c740df67a..58d78a44ec840d 100644 --- a/target/linux/generic/hack-5.4/996-fs-ntfs3-Add-NTFS3-in-fs-Kconfig-and-fs-Makefile.patch +++ b/target/linux/generic/hack-5.4/996-fs-ntfs3-Add-NTFS3-in-fs-Kconfig-and-fs-Makefile.patch @@ -11,23 +11,19 @@ Signed-off-by: Konstantin Komarov fs/Makefile | 1 + 2 files changed, 2 insertions(+) -diff --git a/fs/Kconfig b/fs/Kconfig -index da524c4d7b7e..0bbad356ab57 100644 --- a/fs/Kconfig +++ b/fs/Kconfig -@@ -145,6 +145,7 @@ menu "DOS/FAT/EXFAT/NT Filesystems" +@@ -143,6 +143,7 @@ menu "DOS/FAT/NT Filesystems" + source "fs/fat/Kconfig" - source "fs/exfat/Kconfig" source "fs/ntfs/Kconfig" +source "fs/ntfs3/Kconfig" endmenu endif # BLOCK -diff --git a/fs/Makefile b/fs/Makefile -index 999d1a23f036..4f5242cdaee2 100644 --- a/fs/Makefile +++ b/fs/Makefile -@@ -100,6 +100,7 @@ obj-$(CONFIG_SYSV_FS) += sysv/ +@@ -98,6 +98,7 @@ obj-$(CONFIG_SYSV_FS) += sysv/ obj-$(CONFIG_CIFS) += cifs/ obj-$(CONFIG_HPFS_FS) += hpfs/ obj-$(CONFIG_NTFS_FS) += ntfs/ @@ -35,6 +31,3 @@ index 999d1a23f036..4f5242cdaee2 100644 obj-$(CONFIG_UFS_FS) += ufs/ obj-$(CONFIG_EFS_FS) += efs/ obj-$(CONFIG_JFFS2_FS) += jffs2/ --- -2.30.1 - diff --git a/target/linux/generic/pending-5.4/419-mtd-redboot-add-of_match_table-with-DT-binding.patch b/target/linux/generic/pending-5.4/419-mtd-redboot-add-of_match_table-with-DT-binding.patch index 7692f484ae0c7b..3ea5f4abb4b95c 100644 --- a/target/linux/generic/pending-5.4/419-mtd-redboot-add-of_match_table-with-DT-binding.patch +++ b/target/linux/generic/pending-5.4/419-mtd-redboot-add-of_match_table-with-DT-binding.patch @@ -12,7 +12,7 @@ Signed-off-by: Rafał Miłecki --- a/drivers/mtd/parsers/redboot.c +++ b/drivers/mtd/parsers/redboot.c -@@ -305,6 +305,7 @@ static int parse_redboot_partitions(stru +@@ -306,6 +306,7 @@ static int parse_redboot_partitions(stru static const struct of_device_id mtd_parser_redboot_of_match_table[] = { { .compatible = "redboot-fis" }, diff --git a/target/linux/generic/pending-5.4/420-mtd-redboot_space.patch b/target/linux/generic/pending-5.4/420-mtd-redboot_space.patch index a3cd4ecf1f9bf7..5be2a2246e379c 100644 --- a/target/linux/generic/pending-5.4/420-mtd-redboot_space.patch +++ b/target/linux/generic/pending-5.4/420-mtd-redboot_space.patch @@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau --- a/drivers/mtd/parsers/redboot.c +++ b/drivers/mtd/parsers/redboot.c -@@ -279,14 +279,21 @@ static int parse_redboot_partitions(stru +@@ -280,14 +280,21 @@ static int parse_redboot_partitions(stru #endif names += strlen(names)+1; diff --git a/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch b/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch index 569951cdbc4656..739f94b77a6ad5 100644 --- a/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch +++ b/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch @@ -128,7 +128,7 @@ Signed-off-by: Pablo Neira Ayuso #define NFTA_FLOWTABLE_MAX (__NFTA_FLOWTABLE_MAX - 1) --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig -@@ -711,6 +711,15 @@ config NF_FLOW_TABLE +@@ -710,6 +710,15 @@ config NF_FLOW_TABLE To compile it as a module, choose M here. @@ -506,7 +506,7 @@ Signed-off-by: Pablo Neira Ayuso +MODULE_ALIAS("nf-flow-table-hw"); --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c -@@ -5752,6 +5752,13 @@ static int nf_tables_flowtable_parse_hoo +@@ -5758,6 +5758,13 @@ static int nf_tables_flowtable_parse_hoo if (err < 0) return err; @@ -520,7 +520,7 @@ Signed-off-by: Pablo Neira Ayuso ops = kcalloc(n, sizeof(struct nf_hook_ops), GFP_KERNEL); if (!ops) return -ENOMEM; -@@ -5882,10 +5889,19 @@ static int nf_tables_newflowtable(struct +@@ -5888,10 +5895,19 @@ static int nf_tables_newflowtable(struct } flowtable->data.type = type; @@ -540,7 +540,7 @@ Signed-off-by: Pablo Neira Ayuso err = nf_tables_flowtable_parse_hook(&ctx, nla[NFTA_FLOWTABLE_HOOK], flowtable); if (err < 0) -@@ -6011,7 +6027,8 @@ static int nf_tables_fill_flowtable_info +@@ -6017,7 +6033,8 @@ static int nf_tables_fill_flowtable_info nla_put_string(skb, NFTA_FLOWTABLE_NAME, flowtable->name) || nla_put_be32(skb, NFTA_FLOWTABLE_USE, htonl(flowtable->use)) || nla_put_be64(skb, NFTA_FLOWTABLE_HANDLE, cpu_to_be64(flowtable->handle), diff --git a/target/linux/generic/pending-5.4/655-increase_skb_pad.patch b/target/linux/generic/pending-5.4/655-increase_skb_pad.patch index e325301d3cba5d..ab7939570df987 100644 --- a/target/linux/generic/pending-5.4/655-increase_skb_pad.patch +++ b/target/linux/generic/pending-5.4/655-increase_skb_pad.patch @@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -2650,7 +2650,7 @@ static inline int pskb_network_may_pull( +@@ -2658,7 +2658,7 @@ static inline int pskb_network_may_pull( * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8) */ #ifndef NET_SKB_PAD diff --git a/target/linux/generic/pending-5.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/pending-5.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch index 82c1e268314382..28901d7135dc86 100644 --- a/target/linux/generic/pending-5.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch +++ b/target/linux/generic/pending-5.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch @@ -175,7 +175,7 @@ Signed-off-by: Jonas Gorski /* * Allocate a dst for local (unicast / anycast) address. */ -@@ -4933,7 +4963,8 @@ static int rtm_to_fib6_config(struct sk_ +@@ -4940,7 +4970,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 cfg->fc_flags |= RTF_REJECT; if (rtm->rtm_type == RTN_LOCAL) -@@ -6084,6 +6115,8 @@ static int ip6_route_dev_notify(struct n +@@ -6091,6 +6122,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 net->ipv6.ip6_blk_hole_entry->dst.dev = dev; net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev); #endif -@@ -6095,6 +6128,7 @@ static int ip6_route_dev_notify(struct n +@@ -6102,6 +6135,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 in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev); #endif } -@@ -6287,6 +6321,8 @@ static int __net_init ip6_route_net_init +@@ -6294,6 +6328,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 net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template, sizeof(*net->ipv6.ip6_prohibit_entry), GFP_KERNEL); -@@ -6297,11 +6333,21 @@ static int __net_init ip6_route_net_init +@@ -6304,11 +6340,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 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); -@@ -6325,6 +6371,8 @@ out: +@@ -6332,6 +6378,8 @@ out: return ret; #ifdef CONFIG_IPV6_MULTIPLE_TABLES @@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski out_ip6_prohibit_entry: kfree(net->ipv6.ip6_prohibit_entry); out_ip6_null_entry: -@@ -6344,6 +6392,7 @@ static void __net_exit ip6_route_net_exi +@@ -6351,6 +6399,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 kfree(net->ipv6.ip6_blk_hole_entry); #endif dst_entries_destroy(&net->ipv6.ip6_dst_ops); -@@ -6421,6 +6470,9 @@ void __init ip6_route_init_special_entri +@@ -6428,6 +6477,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); 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 2427645344619b..767a3583460252 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 @@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau __u16 tc_index; /* traffic control index */ --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -5501,6 +5501,9 @@ static enum gro_result dev_gro_receive(s +@@ -5502,6 +5502,9 @@ static enum gro_result dev_gro_receive(s int same_flow; int grow; @@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau if (netif_elide_gro(skb->dev)) goto normal; -@@ -7303,6 +7306,48 @@ static void __netdev_adjacent_dev_unlink +@@ -7304,6 +7307,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, -@@ -7353,6 +7398,7 @@ static int __netdev_upper_dev_link(struc +@@ -7354,6 +7399,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); -@@ -7446,6 +7492,7 @@ void netdev_upper_dev_unlink(struct net_ +@@ -7447,6 +7493,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); -@@ -8176,6 +8223,7 @@ int dev_set_mac_address(struct net_devic +@@ -8177,6 +8224,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/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 94eb518a5af9b2..df22627fc23028 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 @@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau static int netif_rx_internal(struct sk_buff *skb); static int call_netdevice_notifiers_info(unsigned long val, -@@ -5943,6 +5944,11 @@ void __napi_schedule(struct napi_struct +@@ -5944,6 +5945,11 @@ void __napi_schedule(struct napi_struct { unsigned long flags; @@ -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); -@@ -5994,6 +6000,10 @@ EXPORT_SYMBOL(napi_schedule_prep); +@@ -5995,6 +6001,10 @@ EXPORT_SYMBOL(napi_schedule_prep); */ void __napi_schedule_irqoff(struct napi_struct *n) { @@ -118,7 +118,7 @@ Signed-off-by: Felix Fietkau if (!IS_ENABLED(CONFIG_PREEMPT_RT)) ____napi_schedule(this_cpu_ptr(&softnet_data), n); else -@@ -6258,9 +6268,89 @@ static void init_gro_hash(struct napi_st +@@ -6259,9 +6269,89 @@ static void init_gro_hash(struct napi_st napi->gro_bitmask = 0; } @@ -208,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; -@@ -6277,6 +6367,7 @@ void netif_napi_add(struct net_device *d +@@ -6278,6 +6368,7 @@ void netif_napi_add(struct net_device *d #ifdef CONFIG_NETPOLL napi->poll_owner = -1; #endif @@ -216,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); -@@ -6317,6 +6408,7 @@ static void flush_gro_hash(struct napi_s +@@ -6318,6 +6409,7 @@ static void flush_gro_hash(struct napi_s void netif_napi_del(struct napi_struct *napi) { might_sleep(); @@ -224,7 +224,7 @@ Signed-off-by: Felix Fietkau if (napi_hash_del(napi)) synchronize_net(); list_del_init(&napi->dev_list); -@@ -6329,50 +6421,18 @@ EXPORT_SYMBOL(netif_napi_del); +@@ -6330,50 +6422,18 @@ EXPORT_SYMBOL(netif_napi_del); static int napi_poll(struct napi_struct *n, struct list_head *repoll) { @@ -279,7 +279,7 @@ Signed-off-by: Felix Fietkau /* Some drivers may have called napi_schedule * prior to exhausting their budget. -@@ -10352,6 +10412,10 @@ static int __init net_dev_init(void) +@@ -10353,6 +10413,10 @@ static int __init net_dev_init(void) sd->backlog.weight = weight_p; } diff --git a/target/linux/generic/pending-5.4/702-net-ethernet-mtk_eth_soc-enable-threaded-NAPI.patch b/target/linux/generic/pending-5.4/702-net-ethernet-mtk_eth_soc-enable-threaded-NAPI.patch index ab7f7a70ea1dd7..ef23f9c8f262a3 100644 --- a/target/linux/generic/pending-5.4/702-net-ethernet-mtk_eth_soc-enable-threaded-NAPI.patch +++ b/target/linux/generic/pending-5.4/702-net-ethernet-mtk_eth_soc-enable-threaded-NAPI.patch @@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -@@ -2154,8 +2154,8 @@ static irqreturn_t mtk_handle_irq_rx(int +@@ -2171,8 +2171,8 @@ static irqreturn_t mtk_handle_irq_rx(int struct mtk_eth *eth = _eth; if (likely(napi_schedule_prep(ð->rx_napi))) { @@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau } return IRQ_HANDLED; -@@ -2166,8 +2166,8 @@ static irqreturn_t mtk_handle_irq_tx(int +@@ -2183,8 +2183,8 @@ static irqreturn_t mtk_handle_irq_tx(int struct mtk_eth *eth = _eth; if (likely(napi_schedule_prep(ð->tx_napi))) { @@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau } return IRQ_HANDLED; -@@ -3090,6 +3090,8 @@ static int mtk_probe(struct platform_dev +@@ -3107,6 +3107,8 @@ static int mtk_probe(struct platform_dev * for NAPI to work */ init_dummy_netdev(ð->dummy_dev); diff --git a/target/linux/generic/pending-5.4/770-06-net-ethernet-mtk_eth_soc-implement-dynamic-interrupt.patch b/target/linux/generic/pending-5.4/770-06-net-ethernet-mtk_eth_soc-implement-dynamic-interrupt.patch index a99e475e8791bb..339330497130ed 100644 --- a/target/linux/generic/pending-5.4/770-06-net-ethernet-mtk_eth_soc-implement-dynamic-interrupt.patch +++ b/target/linux/generic/pending-5.4/770-06-net-ethernet-mtk_eth_soc-implement-dynamic-interrupt.patch @@ -194,7 +194,7 @@ Signed-off-by: Felix Fietkau mtk_tx_irq_disable(eth, ~0); mtk_rx_irq_disable(eth, ~0); -@@ -2971,6 +3045,13 @@ static int mtk_probe(struct platform_dev +@@ -2968,6 +3042,13 @@ static int mtk_probe(struct platform_dev spin_lock_init(ð->page_lock); spin_lock_init(ð->tx_irq_lock); spin_lock_init(ð->rx_irq_lock); diff --git a/target/linux/generic/pending-5.4/770-15-net-ethernet-mediatek-mtk_eth_soc-add-support-for-in.patch b/target/linux/generic/pending-5.4/770-15-net-ethernet-mediatek-mtk_eth_soc-add-support-for-in.patch index a8660e655f0597..c5b26f4a1b804c 100644 --- a/target/linux/generic/pending-5.4/770-15-net-ethernet-mediatek-mtk_eth_soc-add-support-for-in.patch +++ b/target/linux/generic/pending-5.4/770-15-net-ethernet-mediatek-mtk_eth_soc-add-support-for-in.patch @@ -54,7 +54,7 @@ Signed-off-by: Felix Fietkau return 0; } -@@ -3185,6 +3193,13 @@ static int mtk_probe(struct platform_dev +@@ -3182,6 +3190,13 @@ static int mtk_probe(struct platform_dev goto err_free_dev; } @@ -68,7 +68,7 @@ Signed-off-by: Felix Fietkau for (i = 0; i < MTK_MAX_DEVS; i++) { if (!eth->netdev[i]) continue; -@@ -3259,6 +3274,7 @@ static const struct mtk_soc_data mt7621_ +@@ -3258,6 +3273,7 @@ static const struct mtk_soc_data mt7621_ .hw_features = MTK_HW_FEATURES, .required_clks = MT7621_CLKS_BITMAP, .required_pctl = false, @@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau }; static const struct mtk_soc_data mt7622_data = { -@@ -3267,6 +3283,7 @@ static const struct mtk_soc_data mt7622_ +@@ -3266,6 +3282,7 @@ static const struct mtk_soc_data mt7622_ .hw_features = MTK_HW_FEATURES, .required_clks = MT7622_CLKS_BITMAP, .required_pctl = false, diff --git a/target/linux/generic/pending-5.4/770-16-net-ethernet-mediatek-mtk_eth_soc-add-flow-offloadin.patch b/target/linux/generic/pending-5.4/770-16-net-ethernet-mediatek-mtk_eth_soc-add-flow-offloadin.patch index 5d821f0d749e6d..a62791f4cefb92 100644 --- a/target/linux/generic/pending-5.4/770-16-net-ethernet-mediatek-mtk_eth_soc-add-flow-offloadin.patch +++ b/target/linux/generic/pending-5.4/770-16-net-ethernet-mediatek-mtk_eth_soc-add-flow-offloadin.patch @@ -44,7 +44,7 @@ Signed-off-by: Felix Fietkau skip_rx: ring->data[idx] = new_data; -@@ -2902,6 +2908,25 @@ static int mtk_set_rxnfc(struct net_devi +@@ -2899,6 +2905,25 @@ static int mtk_set_rxnfc(struct net_devi return ret; } @@ -70,7 +70,7 @@ Signed-off-by: Felix Fietkau static const struct ethtool_ops mtk_ethtool_ops = { .get_link_ksettings = mtk_get_link_ksettings, .set_link_ksettings = mtk_set_link_ksettings, -@@ -2933,6 +2958,7 @@ static const struct net_device_ops mtk_n +@@ -2930,6 +2955,7 @@ static const struct net_device_ops mtk_n #ifdef CONFIG_NET_POLL_CONTROLLER .ndo_poll_controller = mtk_poll_controller, #endif @@ -78,7 +78,7 @@ Signed-off-by: Felix Fietkau }; static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np) -@@ -3198,6 +3224,10 @@ static int mtk_probe(struct platform_dev +@@ -3195,6 +3221,10 @@ static int mtk_probe(struct platform_dev eth->base + MTK_ETH_PPE_BASE, 2); if (err) goto err_free_dev; diff --git a/target/linux/generic/pending-5.4/811-pci_disable_usb_common_quirks.patch b/target/linux/generic/pending-5.4/811-pci_disable_usb_common_quirks.patch index 86f8a416e9ee6b..d70ac5514d63f1 100644 --- a/target/linux/generic/pending-5.4/811-pci_disable_usb_common_quirks.patch +++ b/target/linux/generic/pending-5.4/811-pci_disable_usb_common_quirks.patch @@ -98,7 +98,7 @@ Signed-off-by: Felix Fietkau #endif /* __LINUX_USB_PCI_QUIRKS_H */ --- a/include/linux/usb/hcd.h +++ b/include/linux/usb/hcd.h -@@ -485,7 +485,14 @@ extern int usb_hcd_pci_probe(struct pci_ +@@ -486,7 +486,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); diff --git a/target/linux/generic/pending-5.4/999-backport-wireless-ethernet-dispatch.patch b/target/linux/generic/pending-5.4/999-backport-wireless-ethernet-dispatch.patch index 13f4c46849a2af..7ef28b4888c456 100644 --- a/target/linux/generic/pending-5.4/999-backport-wireless-ethernet-dispatch.patch +++ b/target/linux/generic/pending-5.4/999-backport-wireless-ethernet-dispatch.patch @@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau static int mtk_msg_level = -1; module_param_named(msg_level, mtk_msg_level, int, 0); -@@ -3125,6 +3126,22 @@ static int mtk_probe(struct platform_device *pdev) +@@ -3142,6 +3143,22 @@ static int mtk_probe(struct platform_dev } } diff --git a/target/linux/ipq40xx/patches-5.4/900-arm-add-cmdline-override.patch b/target/linux/ipq40xx/patches-5.4/900-arm-add-cmdline-override.patch old mode 100755 new mode 100644 index 9ec11fc09c6b56..f006d80f3bbae3 --- a/target/linux/ipq40xx/patches-5.4/900-arm-add-cmdline-override.patch +++ b/target/linux/ipq40xx/patches-5.4/900-arm-add-cmdline-override.patch @@ -1,6 +1,6 @@ --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -1826,6 +1826,14 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_MANGL +@@ -1825,6 +1825,14 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN endchoice diff --git a/target/linux/ipq40xx/patches-5.4/995-add-qca-rfs-support.patch b/target/linux/ipq40xx/patches-5.4/995-add-qca-rfs-support.patch index fd20c62473cf23..cb3dd9952093fc 100644 --- a/target/linux/ipq40xx/patches-5.4/995-add-qca-rfs-support.patch +++ b/target/linux/ipq40xx/patches-5.4/995-add-qca-rfs-support.patch @@ -125,7 +125,7 @@ #endif --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c -@@ -728,6 +728,7 @@ void phy_stop_machine(struct phy_device *phydev) +@@ -728,6 +728,7 @@ void phy_stop_machine(struct phy_device phydev->state = PHY_UP; mutex_unlock(&phydev->lock); } @@ -135,7 +135,7 @@ * phy_error - enter HALTED state for this PHY device --- a/drivers/net/ppp/ppp_generic.c +++ b/drivers/net/ppp/ppp_generic.c -@@ -3357,6 +3357,318 @@ static void *unit_find(struct idr *p, int n) +@@ -3357,6 +3357,318 @@ static void *unit_find(struct idr *p, in return idr_find(p, n); } @@ -467,7 +467,7 @@ /* * Determine initial path cost based on speed. * using recommendations from 802.1d standard -@@ -695,6 +699,8 @@ int br_add_if(struct net_bridge *br, struct net_device *dev, +@@ -695,6 +699,8 @@ int br_add_if(struct net_bridge *br, str kobject_uevent(&p->kobj, KOBJ_ADD); @@ -476,7 +476,7 @@ return 0; err7: -@@ -731,6 +737,8 @@ int br_del_if(struct net_bridge *br, struct net_device *dev) +@@ -731,6 +737,8 @@ int br_del_if(struct net_bridge *br, str if (!p || p->br != br) return -EINVAL; @@ -485,7 +485,7 @@ /* Since more than one interface can be attached to a bridge, * there still maybe an alternate path for netconsole to use; * therefore there is no reason for a NETDEV_RELEASE event. -@@ -785,6 +793,65 @@ void br_dev_update_stats(struct net_device *dev, +@@ -785,6 +793,65 @@ void br_dev_update_stats(struct net_devi } EXPORT_SYMBOL_GPL(br_dev_update_stats); @@ -553,7 +553,7 @@ struct net_bridge_port *p; --- a/net/bridge/br_fdb.c +++ b/net/bridge/br_fdb.c -@@ -37,6 +37,33 @@ static int fdb_insert(struct net_bridge *br, struct net_bridge_port *source, +@@ -37,6 +37,33 @@ static int fdb_insert(struct net_bridge static void fdb_notify(struct net_bridge *br, const struct net_bridge_fdb_entry *, int, bool); @@ -587,7 +587,7 @@ int __init br_fdb_init(void) { br_fdb_cache = kmem_cache_create("bridge_fdb_cache", -@@ -337,6 +364,7 @@ void br_fdb_cleanup(struct work_struct *work) +@@ -337,6 +364,7 @@ void br_fdb_cleanup(struct work_struct * unsigned long delay = hold_time(br); unsigned long work_delay = delay; unsigned long now = jiffies; @@ -595,7 +595,7 @@ /* this part is tricky, in order to avoid blocking learning and * consequently forwarding, we rely on rcu to delete objects with -@@ -353,8 +381,11 @@ void br_fdb_cleanup(struct work_struct *work) +@@ -353,8 +381,11 @@ void br_fdb_cleanup(struct work_struct * work_delay = min(work_delay, this_timer - now); } else { spin_lock_bh(&br->hash_lock); @@ -608,7 +608,7 @@ spin_unlock_bh(&br->hash_lock); } } -@@ -587,6 +618,8 @@ void br_fdb_update(struct net_bridge *br, struct net_bridge_port *source, +@@ -587,6 +618,8 @@ void br_fdb_update(struct net_bridge *br /* Take over HW learned entry */ if (unlikely(fdb->added_by_external_learn)) fdb->added_by_external_learn = 0; @@ -617,7 +617,7 @@ } if (now != fdb->updated) fdb->updated = now; -@@ -696,6 +729,23 @@ static void fdb_notify(struct net_bridge *br, +@@ -696,6 +729,23 @@ static void fdb_notify(struct net_bridge struct sk_buff *skb; int err = -ENOBUFS; @@ -641,7 +641,7 @@ if (swdev_notify) br_switchdev_fdb_notify(br, fdb, type); -@@ -1212,3 +1262,41 @@ void br_fdb_clear_offload(const struct net_device *dev, u16 vid) +@@ -1212,3 +1262,41 @@ void br_fdb_clear_offload(const struct n spin_unlock_bh(&p->br->hash_lock); } EXPORT_SYMBOL_GPL(br_fdb_clear_offload); diff --git a/target/linux/ipq806x/patches-5.4/0060-HACK-arch-arm-force-ZRELADDR-on-arch-qcom.patch b/target/linux/ipq806x/patches-5.4/0060-HACK-arch-arm-force-ZRELADDR-on-arch-qcom.patch index 6d3e7d9ee04ce8..d3b39ac3e3addf 100644 --- a/target/linux/ipq806x/patches-5.4/0060-HACK-arch-arm-force-ZRELADDR-on-arch-qcom.patch +++ b/target/linux/ipq806x/patches-5.4/0060-HACK-arch-arm-force-ZRELADDR-on-arch-qcom.patch @@ -33,7 +33,7 @@ Signed-off-by: Mathieu Olivari --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -319,7 +319,7 @@ config ARCH_MULTIPLATFORM +@@ -318,7 +318,7 @@ config ARCH_MULTIPLATFORM depends on MMU select ARM_HAS_SG_CHAIN select ARM_PATCH_PHYS_VIRT diff --git a/target/linux/ipq806x/patches-5.4/0063-2-tsens-support-configurable-interrupts.patch b/target/linux/ipq806x/patches-5.4/0063-2-tsens-support-configurable-interrupts.patch index 54488f25a82c12..cdb54b905307b3 100644 --- a/target/linux/ipq806x/patches-5.4/0063-2-tsens-support-configurable-interrupts.patch +++ b/target/linux/ipq806x/patches-5.4/0063-2-tsens-support-configurable-interrupts.patch @@ -27,8 +27,8 @@ Signed-off-by: Rajith Cherian { struct __thermal_zone *data = tz->devdata; -- if (!data->ops->get_temp) -+ if (!data->ops->get_temp || (data->mode == THERMAL_DEVICE_DISABLED)) +- if (!data->ops || !data->ops->get_temp) ++ if (!data->ops || !data->ops->get_temp || (data->mode == THERMAL_DEVICE_DISABLED)) return -EINVAL; return data->ops->get_temp(data->sensor_data, temp); @@ -42,9 +42,9 @@ Signed-off-by: Rajith Cherian return -EINVAL; return data->ops->set_trips(data->sensor_data, low, high); -@@ -188,6 +189,9 @@ static int of_thermal_set_emul_temp(stru - { - struct __thermal_zone *data = tz->devdata; +@@ -191,6 +192,9 @@ static int of_thermal_set_emul_temp(stru + if (!data->ops || !data->ops->set_emul_temp) + return -EINVAL; + if (data->mode == THERMAL_DEVICE_DISABLED) + return -EINVAL; @@ -52,16 +52,16 @@ Signed-off-by: Rajith Cherian return data->ops->set_emul_temp(data->sensor_data, temp); } -@@ -196,7 +200,7 @@ static int of_thermal_get_trend(struct t +@@ -199,7 +203,7 @@ static int of_thermal_get_trend(struct t { struct __thermal_zone *data = tz->devdata; -- if (!data->ops->get_trend) -+ if (!data->ops->get_trend || (data->mode == THERMAL_DEVICE_DISABLED)) +- if (!data->ops || !data->ops->get_trend) ++ if (!data->ops || !data->ops->get_trend || (data->mode == THERMAL_DEVICE_DISABLED)) return -EINVAL; return data->ops->get_trend(data->sensor_data, trip, trend); -@@ -297,7 +301,9 @@ static int of_thermal_set_mode(struct th +@@ -300,7 +304,9 @@ static int of_thermal_set_mode(struct th mutex_unlock(&tz->lock); data->mode = mode; @@ -72,7 +72,7 @@ Signed-off-by: Rajith Cherian return 0; } -@@ -307,7 +313,8 @@ static int of_thermal_get_trip_type(stru +@@ -310,7 +316,8 @@ static int of_thermal_get_trip_type(stru { struct __thermal_zone *data = tz->devdata; @@ -82,7 +82,7 @@ Signed-off-by: Rajith Cherian return -EDOM; *type = data->trips[trip].type; -@@ -315,12 +322,39 @@ static int of_thermal_get_trip_type(stru +@@ -318,12 +325,39 @@ static int of_thermal_get_trip_type(stru return 0; } @@ -123,7 +123,7 @@ Signed-off-by: Rajith Cherian return -EDOM; *temp = data->trips[trip].temperature; -@@ -333,7 +367,8 @@ static int of_thermal_set_trip_temp(stru +@@ -336,7 +370,8 @@ static int of_thermal_set_trip_temp(stru { struct __thermal_zone *data = tz->devdata; @@ -132,8 +132,8 @@ Signed-off-by: Rajith Cherian + || (data->mode == THERMAL_DEVICE_DISABLED)) return -EDOM; - if (data->ops->set_trip_temp) { -@@ -355,7 +390,8 @@ static int of_thermal_get_trip_hyst(stru + if (data->ops && data->ops->set_trip_temp) { +@@ -358,7 +393,8 @@ static int of_thermal_get_trip_hyst(stru { struct __thermal_zone *data = tz->devdata; @@ -143,7 +143,7 @@ Signed-off-by: Rajith Cherian return -EDOM; *hyst = data->trips[trip].hysteresis; -@@ -368,7 +404,8 @@ static int of_thermal_set_trip_hyst(stru +@@ -371,7 +407,8 @@ static int of_thermal_set_trip_hyst(stru { struct __thermal_zone *data = tz->devdata; @@ -153,7 +153,7 @@ Signed-off-by: Rajith Cherian return -EDOM; /* thermal framework should take care of data->mask & (1 << trip) */ -@@ -443,6 +480,9 @@ thermal_zone_of_add_sensor(struct device +@@ -446,6 +483,9 @@ thermal_zone_of_add_sensor(struct device if (ops->set_emul_temp) tzd->ops->set_emul_temp = of_thermal_set_emul_temp; @@ -163,7 +163,7 @@ Signed-off-by: Rajith Cherian mutex_unlock(&tzd->lock); return tzd; -@@ -765,7 +805,10 @@ static const char * const trip_types[] = +@@ -768,7 +808,10 @@ static const char * const trip_types[] = [THERMAL_TRIP_ACTIVE] = "active", [THERMAL_TRIP_PASSIVE] = "passive", [THERMAL_TRIP_HOT] = "hot", diff --git a/target/linux/ipq806x/patches-5.4/0067-generic-Mangle-bootloader-s-kernel-arguments.patch b/target/linux/ipq806x/patches-5.4/0067-generic-Mangle-bootloader-s-kernel-arguments.patch index 3a0695b5b90dc0..fcce8058c48489 100644 --- a/target/linux/ipq806x/patches-5.4/0067-generic-Mangle-bootloader-s-kernel-arguments.patch +++ b/target/linux/ipq806x/patches-5.4/0067-generic-Mangle-bootloader-s-kernel-arguments.patch @@ -22,7 +22,7 @@ Signed-off-by: Adrian Panella --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -1824,6 +1824,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN +@@ -1823,6 +1823,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN The command-line arguments provided by the boot loader will be appended to the the device tree bootargs property. diff --git a/target/linux/ipq806x/patches-5.4/900-arm-add-cmdline-override.patch b/target/linux/ipq806x/patches-5.4/900-arm-add-cmdline-override.patch index 87d7015ffc59a5..1a875b81bb457f 100644 --- a/target/linux/ipq806x/patches-5.4/900-arm-add-cmdline-override.patch +++ b/target/linux/ipq806x/patches-5.4/900-arm-add-cmdline-override.patch @@ -1,6 +1,6 @@ --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -1837,6 +1837,14 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_MANGL +@@ -1836,6 +1836,14 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_MANGL endchoice diff --git a/target/linux/ipq806x/patches-5.4/990-00-Add-required-entries-in-dts-files-for-NSS-support.patch b/target/linux/ipq806x/patches-5.4/990-00-Add-required-entries-in-dts-files-for-NSS-support.patch index 3f093cb1672bca..9ff4d9ec36a088 100644 --- a/target/linux/ipq806x/patches-5.4/990-00-Add-required-entries-in-dts-files-for-NSS-support.patch +++ b/target/linux/ipq806x/patches-5.4/990-00-Add-required-entries-in-dts-files-for-NSS-support.patch @@ -1,5 +1,5 @@ ---- b/arch/arm/boot/dts/qcom-ipq8064.dtsi -+++ a/arch/arm/boot/dts/qcom-ipq8064.dtsi +--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi ++++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi @@ -1456,6 +1456,12 @@ status = "disabled"; }; diff --git a/target/linux/ipq806x/patches-5.4/999-00-Regulator-Add-NSS-VOLT.patch b/target/linux/ipq806x/patches-5.4/999-00-Regulator-Add-NSS-VOLT.patch index ebe3e83409140e..c4456f3d70a2bf 100644 --- a/target/linux/ipq806x/patches-5.4/999-00-Regulator-Add-NSS-VOLT.patch +++ b/target/linux/ipq806x/patches-5.4/999-00-Regulator-Add-NSS-VOLT.patch @@ -33,8 +33,8 @@ Signed-off-by: Robert Marko +obj-$(CONFIG_REGULATOR_NSS_VOLT) += nss-volt-ipq806x.o ccflags-$(CONFIG_REGULATOR_DEBUG) += -DDEBUG ---- a/dev/null ---- b/drivers/regulator/nss-volt-ipq806x.c +--- /dev/null ++++ b/drivers/regulator/nss-volt-ipq806x.c @@ -0,0 +1,146 @@ +/* + * Copyright (c) 2015-2016, The Linux Foundation. All rights reserved. @@ -182,9 +182,13 @@ Signed-off-by: Robert Marko +} +module_exit(nss_ipq806x_exit); + ---- a/dev/null ---- b/include/linux/regulator/nss-volt-ipq806x.h -@@ -0,0 +1,25 @@ +--- a/include/linux/regulator/nss-volt-ipq806x.h ++++ b/include/linux/regulator/nss-volt-ipq806x.h +@@ -22,3 +22,28 @@ + int nss_ramp_voltage(unsigned long rate, bool ramp_up); + + #endif ++ +/* + * Copyright (c) 2015-2016, The Linux Foundation. All rights reserved. + * @@ -209,4 +213,3 @@ Signed-off-by: Robert Marko +int nss_ramp_voltage(unsigned long rate, bool ramp_up); + +#endif -+ diff --git a/target/linux/ipq806x/patches-5.4/999-03a-qca-nss-ecm-support.patch b/target/linux/ipq806x/patches-5.4/999-03a-qca-nss-ecm-support.patch index f315eba3207e99..9e4357a966af85 100644 --- a/target/linux/ipq806x/patches-5.4/999-03a-qca-nss-ecm-support.patch +++ b/target/linux/ipq806x/patches-5.4/999-03a-qca-nss-ecm-support.patch @@ -106,7 +106,7 @@ __be16 vlan_proto, u16 vlan_id) --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -1590,6 +1590,20 @@ enum netdev_priv_flags { +@@ -1590,6 +1590,20 @@ enum netdev_ml_priv_type { ML_PRIV_CAN, }; @@ -170,7 +170,7 @@ struct lock_class_key stats_lock_key; + u32 id; /* QCA NSS ECM support */ }; - + #define bond_slave_get_rcu(dev) \ @@ -757,4 +758,12 @@ static inline void bond_tx_drop(struct n dev_kfree_skb_any(skb); @@ -378,7 +378,7 @@ } } -@@ -2780,3 +2848,101 @@ int bond_3ad_stats_fill(struct sk_buff * +@@ -2775,3 +2843,101 @@ int bond_3ad_stats_fill(struct sk_buff * return 0; } @@ -484,13 +484,13 @@ +++ b/drivers/net/bonding/bond_main.c @@ -199,6 +199,7 @@ atomic_t netpoll_block_tx = ATOMIC_INIT( #endif - + unsigned int bond_net_id __read_mostly; +static unsigned long bond_id_mask = 0xFFFFFFF0; /* QCA NSS ECM Support */ - + /*-------------------------- Forward declarations ---------------------------*/ - -@@ -847,6 +847,23 @@ void bond_change_active_slave(struct bon + +@@ -847,6 +848,23 @@ void bond_change_active_slave(struct bon if (BOND_MODE(bond) == BOND_MODE_8023AD) bond_3ad_handle_link_change(new_active, BOND_LINK_UP); @@ -614,7 +614,7 @@ } /* bond_mii_monitor -@@ -4383,6 +4445,11 @@ static void bond_destructor(struct net_d +@@ -4385,6 +4447,11 @@ static void bond_destructor(struct net_d struct bonding *bond = netdev_priv(bond_dev); if (bond->wq) destroy_workqueue(bond->wq); @@ -626,7 +626,7 @@ } void bond_setup(struct net_device *bond_dev) -@@ -4932,6 +4999,16 @@ int bond_create(struct net *net, const c +@@ -4934,6 +5001,16 @@ int bond_create(struct net *net, const c bond_work_init_all(bond); rtnl_unlock(); @@ -643,7 +643,7 @@ return 0; } -@@ -5027,6 +5104,203 @@ static void __exit bonding_exit(void) +@@ -5029,6 +5106,203 @@ static void __exit bonding_exit(void) #endif } @@ -1064,7 +1064,7 @@ /* * Determine initial path cost based on speed. * using recommendations from 802.1d standard -@@ -695,6 +701,8 @@ +@@ -695,6 +701,8 @@ int br_add_if(struct net_bridge *br, str kobject_uevent(&p->kobj, KOBJ_ADD); @@ -1073,7 +1073,7 @@ return 0; err7: -@@ -730,6 +738,8 @@ +@@ -730,6 +738,8 @@ int br_del_if(struct net_bridge *br, str p = br_port_get_rtnl(dev); if (!p || p->br != br) return -EINVAL; @@ -1082,7 +1082,7 @@ /* Since more than one interface can be attached to a bridge, * there still maybe an alternate path for netconsole to use; -@@ -785,6 +795,67 @@ +@@ -785,6 +795,67 @@ void br_dev_update_stats(struct net_devi } EXPORT_SYMBOL_GPL(br_dev_update_stats); @@ -1150,7 +1150,6 @@ bool br_port_flag_is_set(const struct net_device *dev, unsigned long flag) { struct net_bridge_port *p; - --- a/net/bridge/br_private.h +++ b/net/bridge/br_private.h @@ -1269,4 +1269,9 @@ void br_do_proxy_suppress_arp(struct sk_ @@ -1165,7 +1164,7 @@ #endif --- a/net/core/neighbour.c +++ b/net/core/neighbour.c -@@ -1208,7 +1208,21 @@ static void neigh_update_hhs(struct neig +@@ -1223,7 +1223,21 @@ static void neigh_update_hhs(struct neig } } @@ -1187,7 +1186,7 @@ /* Generic update routine. -- lladdr is new lladdr or NULL, if it is not supplied. -@@ -1239,6 +1253,7 @@ static int __neigh_update(struct neighbo +@@ -1254,6 +1268,7 @@ static int __neigh_update(struct neighbo int notify = 0; struct net_device *dev; int update_isrouter = 0; @@ -1195,7 +1194,7 @@ trace_neigh_update(neigh, lladdr, new, flags, nlmsg_pid); -@@ -1248,6 +1263,8 @@ static int __neigh_update(struct neighbo +@@ -1263,6 +1278,8 @@ static int __neigh_update(struct neighbo old = neigh->nud_state; err = -EPERM; @@ -1204,7 +1203,7 @@ if (neigh->dead) { NL_SET_ERR_MSG(extack, "Neighbor entry is now dead"); new = old; -@@ -1290,6 +1307,11 @@ static int __neigh_update(struct neighbo +@@ -1305,6 +1322,11 @@ static int __neigh_update(struct neighbo - compare new & old - if they are different, check override flag */ @@ -1216,7 +1215,7 @@ if ((old & NUD_VALID) && !memcmp(lladdr, neigh->ha, dev->addr_len)) lladdr = neigh->ha; -@@ -1412,8 +1434,11 @@ out: +@@ -1427,8 +1449,11 @@ out: if (((new ^ old) & NUD_PERMANENT) || ext_learn_change) neigh_update_gc_list(neigh); @@ -1284,7 +1283,7 @@ struct fib_table *tb; --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c -@@ -7206,3 +7206,35 @@ void addrconf_cleanup(void) +@@ -7202,3 +7202,35 @@ void addrconf_cleanup(void) destroy_workqueue(addrconf_wq); } @@ -1332,7 +1331,7 @@ const struct in6_addr *daddr) --- a/net/ipv6/route.c +++ b/net/ipv6/route.c -@@ -3784,6 +3784,9 @@ out: +@@ -3784,6 +3784,9 @@ out_free: return ERR_PTR(err); } @@ -1363,7 +1362,7 @@ out: fib6_info_release(rt); return err; -@@ -6136,6 +6146,20 @@ static int ip6_route_dev_notify(struct n +@@ -6143,6 +6153,20 @@ static int ip6_route_dev_notify(struct n return NOTIFY_OK; } @@ -1559,7 +1558,7 @@ --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig -@@ -136,6 +136,13 @@ config NF_CONNTRACK_TIMEOUT +@@ -135,6 +135,13 @@ config NF_CONNTRACK_EVENTS If unsure, say `N'. @@ -1583,4 +1582,3 @@ obj-$(CONFIG_NETFILTER) = netfilter.o - diff --git a/target/linux/ipq806x/patches-5.4/999-03b-qca-nss-ecm-support.patch b/target/linux/ipq806x/patches-5.4/999-03b-qca-nss-ecm-support.patch index 420e4da4ae8ba9..3fd94c9949ff0a 100644 --- a/target/linux/ipq806x/patches-5.4/999-03b-qca-nss-ecm-support.patch +++ b/target/linux/ipq806x/patches-5.4/999-03b-qca-nss-ecm-support.patch @@ -1,6 +1,6 @@ --- a/include/linux/if_bridge.h +++ b/include/linux/if_bridge.h -@@ -54,6 +54,7 @@ extern void br_fdb_update_unregister_notify(struct notifier_block *nb); +@@ -54,6 +54,7 @@ extern void brioctl_set(int (*ioctl_hook extern void br_dev_update_stats(struct net_device *dev, struct rtnl_link_stats64 *nlstats); @@ -78,7 +78,7 @@ #endif /* _CONNTRACK_PROTO_GRE_H */ --- a/include/net/addrconf.h +++ b/include/net/addrconf.h -@@ -497,4 +497,9 @@ int if6_proc_init(void); +@@ -500,4 +500,9 @@ int if6_proc_init(void); void if6_proc_exit(void); #endif @@ -90,7 +90,7 @@ #endif --- a/drivers/net/tun.c +++ b/drivers/net/tun.c -@@ -2861,6 +2861,8 @@ static int tun_set_iff(struct net *net, +@@ -2872,6 +2872,8 @@ static int tun_set_iff(struct net *net, ~(NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_STAG_TX); @@ -101,7 +101,7 @@ --- a/net/ipv4/ip_gre.c +++ b/net/ipv4/ip_gre.c -@@ -1297,6 +1297,7 @@ static void ipgre_tap_setup(struct net_d +@@ -1302,6 +1302,7 @@ static void ipgre_tap_setup(struct net_d dev->netdev_ops = &gre_tap_netdev_ops; dev->priv_flags &= ~IFF_TX_SKB_SHARING; dev->priv_flags |= IFF_LIVE_ADDR_CHANGE; @@ -111,7 +111,7 @@ --- a/net/ipv6/ip6_gre.c +++ b/net/ipv6/ip6_gre.c -@@ -1912,6 +1912,7 @@ static void ip6gre_tap_setup(struct net_ +@@ -1917,6 +1917,7 @@ static void ip6gre_tap_setup(struct net_ dev->priv_flags &= ~IFF_TX_SKB_SHARING; dev->priv_flags |= IFF_LIVE_ADDR_CHANGE; @@ -121,7 +121,7 @@ --- a/net/bridge/br_if.c +++ b/net/bridge/br_if.c -@@ -796,6 +796,17 @@ void br_dev_update_stats(struct net_device *dev, +@@ -796,6 +796,17 @@ void br_dev_update_stats(struct net_devi EXPORT_SYMBOL_GPL(br_dev_update_stats); /* QCA NSS ECM support - Start */ diff --git a/target/linux/ipq806x/patches-5.4/999-03c-qca-nss-pppoe-offload-support.patch b/target/linux/ipq806x/patches-5.4/999-03c-qca-nss-pppoe-offload-support.patch index 6582577789ee29..69630421bc90c4 100644 --- a/target/linux/ipq806x/patches-5.4/999-03c-qca-nss-pppoe-offload-support.patch +++ b/target/linux/ipq806x/patches-5.4/999-03c-qca-nss-pppoe-offload-support.patch @@ -39,7 +39,7 @@ Signed-off-by: Murat Sezgin * Generic PPP layer for Linux. * * Copyright 1999-2002 Paul Mackerras. -@@ -3357,6 +3373,178 @@ static void *unit_find(struct idr *p, int n) +@@ -3357,6 +3373,178 @@ static void *unit_find(struct idr *p, in return idr_find(p, n); } @@ -246,7 +246,7 @@ Signed-off-by: Murat Sezgin /* per-net private data for this module */ static unsigned int pppoe_net_id __read_mostly; -@@ -652,6 +653,7 @@ static int pppoe_connect(struct socket *sock, struct sockaddr *uservaddr, +@@ -652,6 +653,7 @@ static int pppoe_connect(struct socket * if (stage_session(po->pppoe_pa.sid)) { pppox_unbind_sock(sk); pn = pppoe_pernet(sock_net(sk)); @@ -254,7 +254,7 @@ Signed-off-by: Murat Sezgin delete_item(pn, po->pppoe_pa.sid, po->pppoe_pa.remote, po->pppoe_ifindex); if (po->pppoe_dev) { -@@ -699,7 +701,7 @@ static int pppoe_connect(struct socket *sock, struct sockaddr *uservaddr, +@@ -699,7 +701,7 @@ static int pppoe_connect(struct socket * po->chan.mtu = dev->mtu - sizeof(struct pppoe_hdr) - 2; po->chan.private = sk; @@ -263,7 +263,7 @@ Signed-off-by: Murat Sezgin error = ppp_register_net_channel(dev_net(dev), &po->chan); if (error) { -@@ -1004,11 +1006,78 @@ static int pppoe_flow_offload_check(struct ppp_channel *chan, +@@ -1004,11 +1006,78 @@ static int pppoe_flow_offload_check(stru } #endif /* CONFIG_NF_FLOW_TABLE */ diff --git a/target/linux/ipq806x/patches-5.4/999-03d-qca-nss-pppoe-offload-support.patch b/target/linux/ipq806x/patches-5.4/999-03d-qca-nss-pppoe-offload-support.patch index 7e99f092ea4d94..5d1224c7d50a1e 100644 --- a/target/linux/ipq806x/patches-5.4/999-03d-qca-nss-pppoe-offload-support.patch +++ b/target/linux/ipq806x/patches-5.4/999-03d-qca-nss-pppoe-offload-support.patch @@ -18,7 +18,7 @@ Signed-off-by: Murat Sezgin --- a/drivers/net/ppp/ppp_generic.c +++ b/drivers/net/ppp/ppp_generic.c -@@ -3376,7 +3376,9 @@ static void *unit_find(struct idr *p, int n) +@@ -3376,7 +3376,9 @@ static void *unit_find(struct idr *p, in /* Updates the PPP interface statistics. */ void ppp_update_stats(struct net_device *dev, unsigned long rx_packets, unsigned long rx_bytes, unsigned long tx_packets, @@ -29,7 +29,7 @@ Signed-off-by: Murat Sezgin { struct ppp *ppp; -@@ -3391,11 +3393,15 @@ void ppp_update_stats(struct net_device *dev, unsigned long rx_packets, +@@ -3391,11 +3393,15 @@ void ppp_update_stats(struct net_device ppp_xmit_lock(ppp); ppp->stats64.tx_packets += tx_packets; ppp->stats64.tx_bytes += tx_bytes; @@ -47,7 +47,7 @@ Signed-off-by: Murat Sezgin --- a/include/linux/ppp_channel.h +++ b/include/linux/ppp_channel.h -@@ -82,7 +82,9 @@ extern int ppp_is_multilink(struct net_device *dev); +@@ -82,7 +82,9 @@ extern int ppp_is_multilink(struct net_d */ extern void ppp_update_stats(struct net_device *dev, unsigned long rx_packets, unsigned long rx_bytes, unsigned long tx_packets, @@ -93,7 +93,7 @@ Signed-off-by: Murat Sezgin *****************************************************************************/ --- a/net/l2tp/l2tp_core.h +++ b/net/l2tp/l2tp_core.h -@@ -200,6 +200,8 @@ struct l2tp_session *l2tp_session_get(const struct net *net, u32 session_id); +@@ -200,6 +200,8 @@ struct l2tp_session *l2tp_session_get(co struct l2tp_session *l2tp_session_get_nth(struct l2tp_tunnel *tunnel, int nth); struct l2tp_session *l2tp_session_get_by_ifname(const struct net *net, const char *ifname); diff --git a/target/linux/ipq806x/patches-5.4/999-03e-qca-nss-pppoe-offload-support.patch b/target/linux/ipq806x/patches-5.4/999-03e-qca-nss-pppoe-offload-support.patch index b6f71e38f93ea9..dc45e72440c51f 100644 --- a/target/linux/ipq806x/patches-5.4/999-03e-qca-nss-pppoe-offload-support.patch +++ b/target/linux/ipq806x/patches-5.4/999-03e-qca-nss-pppoe-offload-support.patch @@ -14,7 +14,7 @@ Signed-off-by: Murat Sezgin --- a/drivers/net/ppp/ppp_generic.c +++ b/drivers/net/ppp/ppp_generic.c -@@ -3395,6 +3395,8 @@ void ppp_update_stats(struct net_device *dev, unsigned long rx_packets, +@@ -3395,6 +3395,8 @@ void ppp_update_stats(struct net_device ppp->stats64.tx_bytes += tx_bytes; ppp->dev->stats.tx_errors += tx_errors; ppp->dev->stats.tx_dropped += tx_dropped; @@ -23,7 +23,7 @@ Signed-off-by: Murat Sezgin ppp_xmit_unlock(ppp); ppp_recv_lock(ppp); -@@ -3402,6 +3404,8 @@ void ppp_update_stats(struct net_device *dev, unsigned long rx_packets, +@@ -3402,6 +3404,8 @@ void ppp_update_stats(struct net_device ppp->stats64.rx_bytes += rx_bytes; ppp->dev->stats.rx_errors += rx_errors; ppp->dev->stats.rx_dropped += rx_dropped; diff --git a/target/linux/ipq806x/patches-5.4/999-04-qca-nss-cfi-support.patch b/target/linux/ipq806x/patches-5.4/999-04-qca-nss-cfi-support.patch index 36fdbde97bed97..465e7d9e5dddcf 100644 --- a/target/linux/ipq806x/patches-5.4/999-04-qca-nss-cfi-support.patch +++ b/target/linux/ipq806x/patches-5.4/999-04-qca-nss-cfi-support.patch @@ -1,6 +1,6 @@ --- a/crypto/authenc.c +++ b/crypto/authenc.c -@@ -449,6 +449,8 @@ static int crypto_authenc_create(struct crypto_template *tmpl, +@@ -449,6 +449,8 @@ static int crypto_authenc_create(struct inst->alg.base.cra_flags = (auth_base->cra_flags | enc->base.cra_flags) & CRYPTO_ALG_ASYNC; @@ -11,21 +11,21 @@ inst->alg.base.cra_blocksize = enc->base.cra_blocksize; --- a/include/linux/crypto.h +++ b/include/linux/crypto.h -@@ -104,6 +104,11 @@ - */ +@@ -105,6 +105,11 @@ #define CRYPTO_NOLOAD 0x00008000 -+/* + /* + * Set this flag if algorithm does not support SG list transforms + */ +#define CRYPTO_ALG_NOSUPP_SG 0x0000c000 + - /* ++/* * Transform masks and values (for crt_flags). */ + #define CRYPTO_TFM_NEED_KEY 0x00000001 --- a/net/ipv4/esp4.c +++ b/net/ipv4/esp4.c -@@ -488,6 +488,7 @@ static int esp_output(struct xfrm_state *x, struct sk_buff *skb) +@@ -487,6 +487,7 @@ static int esp_output(struct xfrm_state struct ip_esp_hdr *esph; struct crypto_aead *aead; struct esp_info esp; @@ -33,7 +33,7 @@ esp.inplace = true; -@@ -499,6 +500,11 @@ static int esp_output(struct xfrm_state *x, struct sk_buff *skb) +@@ -498,6 +499,11 @@ static int esp_output(struct xfrm_state aead = x->data; alen = crypto_aead_authsize(aead); @@ -45,7 +45,7 @@ esp.tfclen = 0; if (x->tfcpad) { struct xfrm_dst *dst = (struct xfrm_dst *)skb_dst(skb); -@@ -708,6 +714,7 @@ static int esp_input(struct xfrm_state *x, struct sk_buff *skb) +@@ -707,6 +713,7 @@ static int esp_input(struct xfrm_state * u8 *iv; struct scatterlist *sg; int err = -EINVAL; @@ -53,7 +53,7 @@ if (!pskb_may_pull(skb, sizeof(struct ip_esp_hdr) + ivlen)) goto out; -@@ -715,6 +722,12 @@ static int esp_input(struct xfrm_state *x, struct sk_buff *skb) +@@ -714,6 +721,12 @@ static int esp_input(struct xfrm_state * if (elen <= 0) goto out; @@ -68,7 +68,7 @@ --- a/net/ipv6/esp6.c +++ b/net/ipv6/esp6.c -@@ -429,6 +429,7 @@ static int esp6_output(struct xfrm_state *x, struct sk_buff *skb) +@@ -428,6 +428,7 @@ static int esp6_output(struct xfrm_state struct ip_esp_hdr *esph; struct crypto_aead *aead; struct esp_info esp; @@ -76,7 +76,7 @@ esp.inplace = true; -@@ -440,6 +441,11 @@ static int esp6_output(struct xfrm_state *x, struct sk_buff *skb) +@@ -439,6 +440,11 @@ static int esp6_output(struct xfrm_state aead = x->data; alen = crypto_aead_authsize(aead); @@ -88,7 +88,7 @@ esp.tfclen = 0; if (x->tfcpad) { struct xfrm_dst *dst = (struct xfrm_dst *)skb_dst(skb); -@@ -603,6 +609,7 @@ static int esp6_input(struct xfrm_state *x, struct sk_buff *skb) +@@ -602,6 +608,7 @@ static int esp6_input(struct xfrm_state __be32 *seqhi; u8 *iv; struct scatterlist *sg; @@ -96,7 +96,7 @@ if (!pskb_may_pull(skb, sizeof(struct ip_esp_hdr) + ivlen)) { ret = -EINVAL; -@@ -614,6 +621,12 @@ static int esp6_input(struct xfrm_state *x, struct sk_buff *skb) +@@ -613,6 +620,12 @@ static int esp6_input(struct xfrm_state goto out; } diff --git a/target/linux/ipq806x/patches-5.4/999-07b-qca-nss-clients-qdisc-support.patch b/target/linux/ipq806x/patches-5.4/999-07b-qca-nss-clients-qdisc-support.patch index 7976621d9a758f..7dd24538254e15 100644 --- a/target/linux/ipq806x/patches-5.4/999-07b-qca-nss-clients-qdisc-support.patch +++ b/target/linux/ipq806x/patches-5.4/999-07b-qca-nss-clients-qdisc-support.patch @@ -303,7 +303,7 @@ @@ -767,7 +767,7 @@ static void qdisc_free_cb(struct rcu_hea qdisc_free(q); } - + -static void qdisc_destroy(struct Qdisc *qdisc) +void qdisc_destroy(struct Qdisc *qdisc) { diff --git a/target/linux/ipq806x/patches-5.4/999-07c-qca-nss-clients-ppp-support.patch b/target/linux/ipq806x/patches-5.4/999-07c-qca-nss-clients-ppp-support.patch index 13123276170219..26a1354d5aef91 100644 --- a/target/linux/ipq806x/patches-5.4/999-07c-qca-nss-clients-ppp-support.patch +++ b/target/linux/ipq806x/patches-5.4/999-07c-qca-nss-clients-ppp-support.patch @@ -46,7 +46,7 @@ ppp_unlock(ppp); ret = 0; -@@ -3555,6 +3580,56 @@ +@@ -3555,6 +3580,56 @@ void ppp_release_channels(struct ppp_cha } EXPORT_SYMBOL(ppp_release_channels); @@ -114,7 +114,7 @@ /* Hold the channel from being destroyed */ void (*hold)(struct ppp_channel *); /* Release hold on the channel */ -@@ -69,6 +71,15 @@ +@@ -69,6 +71,15 @@ extern void ppp_channel_release(struct p extern void ppp_release_channels(struct ppp_channel *channels[], unsigned int chan_sz); diff --git a/target/linux/ipq806x/patches-5.4/999-07d-qca-nss-clients-ppp-support.patch b/target/linux/ipq806x/patches-5.4/999-07d-qca-nss-clients-ppp-support.patch index 238aea97c77f7a..b09f0e6e50f808 100644 --- a/target/linux/ipq806x/patches-5.4/999-07d-qca-nss-clients-ppp-support.patch +++ b/target/linux/ipq806x/patches-5.4/999-07d-qca-nss-clients-ppp-support.patch @@ -1,6 +1,6 @@ --- a/include/linux/ppp_channel.h +++ b/include/linux/ppp_channel.h -@@ -135,5 +135,17 @@ extern void ppp_update_stats(struct net_ +@@ -135,5 +135,17 @@ extern char *ppp_dev_name(struct ppp_cha * that ppp_unregister_channel returns. */ diff --git a/target/linux/ipq806x/patches-5.4/999-07e-qca-nss-clients-iptunnel-support.patch b/target/linux/ipq806x/patches-5.4/999-07e-qca-nss-clients-iptunnel-support.patch index 5996c9cdf6b41b..54772979e11de6 100644 --- a/target/linux/ipq806x/patches-5.4/999-07e-qca-nss-clients-iptunnel-support.patch +++ b/target/linux/ipq806x/patches-5.4/999-07e-qca-nss-clients-iptunnel-support.patch @@ -51,7 +51,7 @@ struct ip6_tnl *tunnel = netdev_priv(dev); --- a/net/ipv6/sit.c +++ b/net/ipv6/sit.c -@@ -1739,6 +1739,23 @@ nla_put_failure: +@@ -1737,6 +1737,23 @@ nla_put_failure: return -EMSGSIZE; } diff --git a/target/linux/lantiq/patches-5.4/0001-MIPS-lantiq-add-pcie-driver.patch b/target/linux/lantiq/patches-5.4/0001-MIPS-lantiq-add-pcie-driver.patch index d856e24d9f05dc..9ffa83e60cc68a 100644 --- a/target/linux/lantiq/patches-5.4/0001-MIPS-lantiq-add-pcie-driver.patch +++ b/target/linux/lantiq/patches-5.4/0001-MIPS-lantiq-add-pcie-driver.patch @@ -5480,7 +5480,7 @@ Signed-off-by: John Crispin (transaction layer end-to-end CRC checking). --- a/include/linux/pci.h +++ b/include/linux/pci.h -@@ -1392,6 +1392,8 @@ void pci_walk_bus(struct pci_bus *top, i +@@ -1393,6 +1393,8 @@ void pci_walk_bus(struct pci_bus *top, i void *userdata); int pci_cfg_space_size(struct pci_dev *dev); unsigned char pci_bus_max_busnr(struct pci_bus *bus); @@ -5491,7 +5491,7 @@ Signed-off-by: John Crispin unsigned long type); --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h -@@ -1076,6 +1076,12 @@ +@@ -1078,6 +1078,12 @@ #define PCI_DEVICE_ID_SGI_IOC3 0x0003 #define PCI_DEVICE_ID_SGI_LITHIUM 0x1002 diff --git a/target/linux/lantiq/patches-5.4/0025-NET-MIPS-lantiq-adds-xrx200-legacy.patch b/target/linux/lantiq/patches-5.4/0025-NET-MIPS-lantiq-adds-xrx200-legacy.patch index 6a2143e17eff1d..a43982f9e14875 100644 --- a/target/linux/lantiq/patches-5.4/0025-NET-MIPS-lantiq-adds-xrx200-legacy.patch +++ b/target/linux/lantiq/patches-5.4/0025-NET-MIPS-lantiq-adds-xrx200-legacy.patch @@ -16,7 +16,7 @@ Subject: NET: MIPS: lantiq: adds xrx200 ethernet and switch driver --- a/drivers/net/ethernet/Kconfig +++ b/drivers/net/ethernet/Kconfig -@@ -108,7 +108,13 @@ config LANTIQ_ETOP +@@ -109,7 +109,13 @@ config LANTIQ_ETOP tristate "Lantiq SoC ETOP driver" depends on SOC_TYPE_XWAY ---help--- diff --git a/target/linux/lantiq/patches-5.4/0030-GPIO-add-named-gpio-exports.patch b/target/linux/lantiq/patches-5.4/0030-GPIO-add-named-gpio-exports.patch index cb75acded2230b..81eed04e6fab9a 100644 --- a/target/linux/lantiq/patches-5.4/0030-GPIO-add-named-gpio-exports.patch +++ b/target/linux/lantiq/patches-5.4/0030-GPIO-add-named-gpio-exports.patch @@ -22,7 +22,7 @@ Signed-off-by: John Crispin #include "gpiolib.h" #include "gpiolib-of.h" -@@ -915,3 +917,72 @@ void of_gpiochip_remove(struct gpio_chip +@@ -917,3 +919,72 @@ void of_gpiochip_remove(struct gpio_chip { of_node_put(chip->of_node); } diff --git a/target/linux/lantiq/patches-5.4/0152-lantiq-VPE.patch b/target/linux/lantiq/patches-5.4/0152-lantiq-VPE.patch index 1ed5d7a135c724..066d4313e14f2f 100644 --- a/target/linux/lantiq/patches-5.4/0152-lantiq-VPE.patch +++ b/target/linux/lantiq/patches-5.4/0152-lantiq-VPE.patch @@ -1,6 +1,6 @@ --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig -@@ -2385,6 +2385,12 @@ config MIPS_VPE_LOADER +@@ -2383,6 +2383,12 @@ config MIPS_VPE_LOADER Includes a loader for loading an elf relocatable object onto another VPE and running it. diff --git a/target/linux/layerscape/patches-5.4/301-arch-0008-arm-add-new-non-shareable-ioremap.patch b/target/linux/layerscape/patches-5.4/301-arch-0008-arm-add-new-non-shareable-ioremap.patch index e2da01fb0f92d3..f2321983196877 100644 --- a/target/linux/layerscape/patches-5.4/301-arch-0008-arm-add-new-non-shareable-ioremap.patch +++ b/target/linux/layerscape/patches-5.4/301-arch-0008-arm-add-new-non-shareable-ioremap.patch @@ -63,8 +63,8 @@ Signed-off-by: Roy Pledge * address space as memory. Needed when the kernel wants to execute --- a/arch/arm/mm/mmu.c +++ b/arch/arm/mm/mmu.c -@@ -316,6 +316,13 @@ static struct mem_type mem_types[] __ro_ - .prot_sect = PMD_TYPE_SECT | PMD_SECT_AP_WRITE, +@@ -323,6 +323,13 @@ static struct mem_type mem_types[] __ro_ + .prot_sect = PMD_TYPE_SECT, .domain = DOMAIN_KERNEL, }, + [MT_MEMORY_RW_NS] = { @@ -77,7 +77,7 @@ Signed-off-by: Roy Pledge [MT_ROM] = { .prot_sect = PMD_TYPE_SECT, .domain = DOMAIN_KERNEL, -@@ -652,6 +659,7 @@ static void __init build_mem_type_table( +@@ -663,6 +670,7 @@ static void __init build_mem_type_table( } kern_pgprot |= PTE_EXT_AF; vecs_pgprot |= PTE_EXT_AF; @@ -85,11 +85,11 @@ Signed-off-by: Roy Pledge /* * Set PXN for user mappings -@@ -680,6 +688,7 @@ static void __init build_mem_type_table( +@@ -691,6 +699,7 @@ static void __init build_mem_type_table( mem_types[MT_MEMORY_RWX].prot_pte |= kern_pgprot; mem_types[MT_MEMORY_RW].prot_sect |= ecc_mask | cp->pmd; mem_types[MT_MEMORY_RW].prot_pte |= kern_pgprot; + mem_types[MT_MEMORY_RW_NS].prot_sect |= ecc_mask | cp->pmd; + mem_types[MT_MEMORY_RO].prot_sect |= ecc_mask | cp->pmd; + mem_types[MT_MEMORY_RO].prot_pte |= kern_pgprot; mem_types[MT_MEMORY_DMA_READY].prot_pte |= kern_pgprot; - mem_types[MT_MEMORY_RWX_NONCACHED].prot_sect |= ecc_mask; - mem_types[MT_ROM].prot_sect |= cp->pmd; diff --git a/target/linux/layerscape/patches-5.4/301-arch-0011-drivers-soc-fsl-add-qixis-driver.patch b/target/linux/layerscape/patches-5.4/301-arch-0011-drivers-soc-fsl-add-qixis-driver.patch index bd82274be27402..f1913c0af5d069 100644 --- a/target/linux/layerscape/patches-5.4/301-arch-0011-drivers-soc-fsl-add-qixis-driver.patch +++ b/target/linux/layerscape/patches-5.4/301-arch-0011-drivers-soc-fsl-add-qixis-driver.patch @@ -16,7 +16,7 @@ Signed-off-by: Pankaj Bansal --- a/drivers/soc/fsl/Kconfig +++ b/drivers/soc/fsl/Kconfig -@@ -40,4 +40,15 @@ config DPAA2_CONSOLE +@@ -41,4 +41,15 @@ config DPAA2_CONSOLE /dev/dpaa2_mc_console and /dev/dpaa2_aiop_console, which can be used to dump the Management Complex and AIOP firmware logs. diff --git a/target/linux/layerscape/patches-5.4/301-arch-0012-soc-fsl-select-MFD_CORE-for-qixis-driver.patch b/target/linux/layerscape/patches-5.4/301-arch-0012-soc-fsl-select-MFD_CORE-for-qixis-driver.patch index aefae7c6c26d12..f754b4873c463e 100644 --- a/target/linux/layerscape/patches-5.4/301-arch-0012-soc-fsl-select-MFD_CORE-for-qixis-driver.patch +++ b/target/linux/layerscape/patches-5.4/301-arch-0012-soc-fsl-select-MFD_CORE-for-qixis-driver.patch @@ -12,7 +12,7 @@ Signed-off-by: Yangbo Lu --- a/drivers/soc/fsl/Kconfig +++ b/drivers/soc/fsl/Kconfig -@@ -46,6 +46,7 @@ config FSL_QIXIS +@@ -47,6 +47,7 @@ config FSL_QIXIS depends on OF select REGMAP_I2C select REGMAP_MMIO diff --git a/target/linux/layerscape/patches-5.4/302-dts-0071-arm-dts-ls1021a-replace-ftm0-with-ftm_alarm0-DT-node.patch b/target/linux/layerscape/patches-5.4/302-dts-0071-arm-dts-ls1021a-replace-ftm0-with-ftm_alarm0-DT-node.patch index 0b638517ddd3b5..2d63cc0b553853 100644 --- a/target/linux/layerscape/patches-5.4/302-dts-0071-arm-dts-ls1021a-replace-ftm0-with-ftm_alarm0-DT-node.patch +++ b/target/linux/layerscape/patches-5.4/302-dts-0071-arm-dts-ls1021a-replace-ftm0-with-ftm_alarm0-DT-node.patch @@ -24,7 +24,7 @@ Signed-off-by: Biwen Li }; cpus { -@@ -549,16 +549,6 @@ +@@ -549,16 +550,6 @@ status = "disabled"; }; diff --git a/target/linux/layerscape/patches-5.4/303-core-0001-net-readd-skb_recycle.patch b/target/linux/layerscape/patches-5.4/303-core-0001-net-readd-skb_recycle.patch index e296df502ebbd4..b5e69e0283ab0f 100644 --- a/target/linux/layerscape/patches-5.4/303-core-0001-net-readd-skb_recycle.patch +++ b/target/linux/layerscape/patches-5.4/303-core-0001-net-readd-skb_recycle.patch @@ -14,7 +14,7 @@ Signed-off-by: Madalin Bucur --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -1025,6 +1025,7 @@ void skb_dump(const char *level, const s +@@ -1029,6 +1029,7 @@ void skb_dump(const char *level, const s void skb_tx_error(struct sk_buff *skb); void consume_skb(struct sk_buff *skb); void __consume_stateless_skb(struct sk_buff *skb); diff --git a/target/linux/layerscape/patches-5.4/303-core-0003-cgroup-let-a-symlink-too-be-created-with-a-cftype-fi.patch b/target/linux/layerscape/patches-5.4/303-core-0003-cgroup-let-a-symlink-too-be-created-with-a-cftype-fi.patch index f7edb7411d96cb..5436ee78413c91 100644 --- a/target/linux/layerscape/patches-5.4/303-core-0003-cgroup-let-a-symlink-too-be-created-with-a-cftype-fi.patch +++ b/target/linux/layerscape/patches-5.4/303-core-0003-cgroup-let-a-symlink-too-be-created-with-a-cftype-fi.patch @@ -27,7 +27,7 @@ Signed-off-by: Li Yang /* internal flags, do not use outside cgroup core proper */ __CFTYPE_ONLY_ON_DFL = (1 << 16), /* only on default hierarchy */ __CFTYPE_NOT_ON_DFL = (1 << 17), /* not on default hierarchy */ -@@ -544,6 +546,7 @@ struct cftype { +@@ -545,6 +547,7 @@ struct cftype { * end of cftype array. */ char name[MAX_CFTYPE_NAME]; @@ -37,7 +37,7 @@ Signed-off-by: Li Yang /* --- a/kernel/cgroup/cgroup.c +++ b/kernel/cgroup/cgroup.c -@@ -1465,8 +1465,8 @@ struct cgroup *task_cgroup_from_root(str +@@ -1468,8 +1468,8 @@ struct cgroup *task_cgroup_from_root(str static struct kernfs_syscall_ops cgroup_kf_syscall_ops; @@ -48,7 +48,7 @@ Signed-off-by: Li Yang { struct cgroup_subsys *ss = cft->ss; -@@ -1476,13 +1476,26 @@ static char *cgroup_file_name(struct cgr +@@ -1479,13 +1479,26 @@ static char *cgroup_file_name(struct cgr snprintf(buf, CGROUP_FILE_NAME_MAX, "%s%s.%s", dbg, cgroup_on_dfl(cgrp) ? ss->name : ss->legacy_name, @@ -77,7 +77,7 @@ Signed-off-by: Li Yang /** * cgroup_file_mode - deduce file mode of a control file * @cft: the control file in question -@@ -1641,6 +1654,9 @@ static void cgroup_rm_file(struct cgroup +@@ -1644,6 +1657,9 @@ static void cgroup_rm_file(struct cgroup } kernfs_remove_by_name(cgrp->kn, cgroup_file_name(cgrp, cft, name)); @@ -87,7 +87,7 @@ Signed-off-by: Li Yang } /** -@@ -3896,6 +3912,7 @@ static int cgroup_add_file(struct cgroup +@@ -3994,6 +4010,7 @@ static int cgroup_add_file(struct cgroup { char name[CGROUP_FILE_NAME_MAX]; struct kernfs_node *kn; @@ -95,7 +95,7 @@ Signed-off-by: Li Yang struct lock_class_key *key = NULL; int ret; -@@ -3926,6 +3943,14 @@ static int cgroup_add_file(struct cgroup +@@ -4024,6 +4041,14 @@ static int cgroup_add_file(struct cgroup spin_unlock_irq(&cgroup_file_kn_lock); } diff --git a/target/linux/layerscape/patches-5.4/303-core-0004-cgroup-bfq-revert-bfq.weight-symlink-change.patch b/target/linux/layerscape/patches-5.4/303-core-0004-cgroup-bfq-revert-bfq.weight-symlink-change.patch index 469bbfdffaa3d7..7341b5bf7f1137 100644 --- a/target/linux/layerscape/patches-5.4/303-core-0004-cgroup-bfq-revert-bfq.weight-symlink-change.patch +++ b/target/linux/layerscape/patches-5.4/303-core-0004-cgroup-bfq-revert-bfq.weight-symlink-change.patch @@ -29,7 +29,7 @@ Signed-off-by: Li Yang /* internal flags, do not use outside cgroup core proper */ __CFTYPE_ONLY_ON_DFL = (1 << 16), /* only on default hierarchy */ __CFTYPE_NOT_ON_DFL = (1 << 17), /* not on default hierarchy */ -@@ -546,7 +544,6 @@ struct cftype { +@@ -547,7 +545,6 @@ struct cftype { * end of cftype array. */ char name[MAX_CFTYPE_NAME]; @@ -39,7 +39,7 @@ Signed-off-by: Li Yang /* --- a/kernel/cgroup/cgroup.c +++ b/kernel/cgroup/cgroup.c -@@ -1465,8 +1465,8 @@ struct cgroup *task_cgroup_from_root(str +@@ -1468,8 +1468,8 @@ struct cgroup *task_cgroup_from_root(str static struct kernfs_syscall_ops cgroup_kf_syscall_ops; @@ -50,7 +50,7 @@ Signed-off-by: Li Yang { struct cgroup_subsys *ss = cft->ss; -@@ -1476,26 +1476,13 @@ static char *cgroup_fill_name(struct cgr +@@ -1479,26 +1479,13 @@ static char *cgroup_fill_name(struct cgr snprintf(buf, CGROUP_FILE_NAME_MAX, "%s%s.%s", dbg, cgroup_on_dfl(cgrp) ? ss->name : ss->legacy_name, @@ -79,7 +79,7 @@ Signed-off-by: Li Yang /** * cgroup_file_mode - deduce file mode of a control file * @cft: the control file in question -@@ -1654,9 +1641,6 @@ static void cgroup_rm_file(struct cgroup +@@ -1657,9 +1644,6 @@ static void cgroup_rm_file(struct cgroup } kernfs_remove_by_name(cgrp->kn, cgroup_file_name(cgrp, cft, name)); @@ -89,7 +89,7 @@ Signed-off-by: Li Yang } /** -@@ -3912,7 +3896,6 @@ static int cgroup_add_file(struct cgroup +@@ -4010,7 +3994,6 @@ static int cgroup_add_file(struct cgroup { char name[CGROUP_FILE_NAME_MAX]; struct kernfs_node *kn; @@ -97,7 +97,7 @@ Signed-off-by: Li Yang struct lock_class_key *key = NULL; int ret; -@@ -3943,14 +3926,6 @@ static int cgroup_add_file(struct cgroup +@@ -4041,14 +4024,6 @@ static int cgroup_add_file(struct cgroup spin_unlock_irq(&cgroup_file_kn_lock); } diff --git a/target/linux/layerscape/patches-5.4/701-net-0130-bus-fsl-mc-move-fsl_mc_command-struct-in-a-uapi-head.patch b/target/linux/layerscape/patches-5.4/701-net-0130-bus-fsl-mc-move-fsl_mc_command-struct-in-a-uapi-head.patch index 5aa85bf51cafbf..335ec7108c638a 100644 --- a/target/linux/layerscape/patches-5.4/701-net-0130-bus-fsl-mc-move-fsl_mc_command-struct-in-a-uapi-head.patch +++ b/target/linux/layerscape/patches-5.4/701-net-0130-bus-fsl-mc-move-fsl_mc_command-struct-in-a-uapi-head.patch @@ -16,7 +16,7 @@ Signed-off-by: Ioana Ciornei --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -13438,6 +13438,8 @@ S: Maintained +@@ -13437,6 +13437,8 @@ S: Maintained F: drivers/bus/fsl-mc/ F: Documentation/devicetree/bindings/misc/fsl,qoriq-mc.txt F: Documentation/networking/device_drivers/freescale/dpaa2/overview.rst diff --git a/target/linux/layerscape/patches-5.4/701-net-0132-bus-fsl-mc-add-root-dprc-rescan-attribute.patch b/target/linux/layerscape/patches-5.4/701-net-0132-bus-fsl-mc-add-root-dprc-rescan-attribute.patch index 8fd964993eab9c..9062346821bee5 100644 --- a/target/linux/layerscape/patches-5.4/701-net-0132-bus-fsl-mc-add-root-dprc-rescan-attribute.patch +++ b/target/linux/layerscape/patches-5.4/701-net-0132-bus-fsl-mc-add-root-dprc-rescan-attribute.patch @@ -31,7 +31,7 @@ Signed-off-by: Ioana Ciornei +Users: Userspace drivers and management tools --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -13440,6 +13440,7 @@ F: Documentation/devicetree/bindings/mis +@@ -13439,6 +13439,7 @@ F: Documentation/devicetree/bindings/mis F: Documentation/networking/device_drivers/freescale/dpaa2/overview.rst F: Documentation/networking/dpaa2/overview.rst F: include/uapi/linux/fsl_mc.h diff --git a/target/linux/layerscape/patches-5.4/701-net-0261-net-mscc-ocelot-publish-ocelot_sys.h-to-include-soc-.patch b/target/linux/layerscape/patches-5.4/701-net-0261-net-mscc-ocelot-publish-ocelot_sys.h-to-include-soc-.patch index f65ae631dcba3c..98556523e352ca 100644 --- a/target/linux/layerscape/patches-5.4/701-net-0261-net-mscc-ocelot-publish-ocelot_sys.h-to-include-soc-.patch +++ b/target/linux/layerscape/patches-5.4/701-net-0261-net-mscc-ocelot-publish-ocelot_sys.h-to-include-soc-.patch @@ -24,7 +24,7 @@ Signed-off-by: David S. Miller --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -10826,6 +10826,7 @@ M: Microchip Linux Driver Support --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -6576,6 +6576,14 @@ F: drivers/ptp/ptp_qoriq_debugfs.c +@@ -6575,6 +6575,14 @@ F: drivers/ptp/ptp_qoriq_debugfs.c F: include/linux/fsl/ptp_qoriq.h F: Documentation/devicetree/bindings/ptp/ptp-qoriq.txt diff --git a/target/linux/layerscape/patches-5.4/701-net-0327-at803x-Address-packet-drops-at-low-traffic-rate-due-.patch b/target/linux/layerscape/patches-5.4/701-net-0327-at803x-Address-packet-drops-at-low-traffic-rate-due-.patch index babecdecb7b77b..f8dda3a22df3e0 100644 --- a/target/linux/layerscape/patches-5.4/701-net-0327-at803x-Address-packet-drops-at-low-traffic-rate-due-.patch +++ b/target/linux/layerscape/patches-5.4/701-net-0327-at803x-Address-packet-drops-at-low-traffic-rate-due-.patch @@ -22,7 +22,7 @@ Signed-off-by: Vladimir Oltean --- a/drivers/net/phy/Kconfig +++ b/drivers/net/phy/Kconfig -@@ -363,6 +363,16 @@ config AT803X_PHY +@@ -367,6 +367,16 @@ config AT803X_PHY ---help--- Currently supports the AT8030 and AT8035 model diff --git a/target/linux/layerscape/patches-5.4/701-net-0328-net-phy-Inphi-IN112525_s03-retimer-support.patch b/target/linux/layerscape/patches-5.4/701-net-0328-net-phy-Inphi-IN112525_s03-retimer-support.patch index dcb6071e287f64..68a0bc4eaa1066 100644 --- a/target/linux/layerscape/patches-5.4/701-net-0328-net-phy-Inphi-IN112525_s03-retimer-support.patch +++ b/target/linux/layerscape/patches-5.4/701-net-0328-net-phy-Inphi-IN112525_s03-retimer-support.patch @@ -15,7 +15,7 @@ Signed-off-by: Florin Chiculita --- a/drivers/net/phy/Kconfig +++ b/drivers/net/phy/Kconfig -@@ -471,6 +471,11 @@ config ICPLUS_PHY +@@ -475,6 +475,11 @@ config ICPLUS_PHY ---help--- Currently supports the IP175C and IP1001 PHYs. @@ -29,7 +29,7 @@ Signed-off-by: Florin Chiculita ---help--- --- a/drivers/net/phy/Makefile +++ b/drivers/net/phy/Makefile -@@ -86,6 +86,7 @@ obj-$(CONFIG_DP83848_PHY) += dp83848.o +@@ -87,6 +87,7 @@ obj-$(CONFIG_DP83848_PHY) += dp83848.o obj-$(CONFIG_DP83867_PHY) += dp83867.o obj-$(CONFIG_FIXED_PHY) += fixed_phy.o obj-$(CONFIG_ICPLUS_PHY) += icplus.o diff --git a/target/linux/layerscape/patches-5.4/701-net-0380-net-phylink-add-support-for-polling-MAC-PCS.patch b/target/linux/layerscape/patches-5.4/701-net-0380-net-phylink-add-support-for-polling-MAC-PCS.patch index 938533da49f8a3..f9b97b3f4ea251 100644 --- a/target/linux/layerscape/patches-5.4/701-net-0380-net-phylink-add-support-for-polling-MAC-PCS.patch +++ b/target/linux/layerscape/patches-5.4/701-net-0380-net-phylink-add-support-for-polling-MAC-PCS.patch @@ -47,7 +47,7 @@ during v5.5-rc1. --- a/drivers/net/phy/phylink.c +++ b/drivers/net/phy/phylink.c -@@ -1013,7 +1013,8 @@ void phylink_start(struct phylink *pl) +@@ -1008,7 +1008,8 @@ void phylink_start(struct phylink *pl) if (irq <= 0) mod_timer(&pl->link_poll, jiffies + HZ); } diff --git a/target/linux/layerscape/patches-5.4/801-audio-0008-Revert-ASoC-Remove-dev_err-usage-after-platform_get_.patch b/target/linux/layerscape/patches-5.4/801-audio-0008-Revert-ASoC-Remove-dev_err-usage-after-platform_get_.patch index d261483563d774..d30d09db323016 100644 --- a/target/linux/layerscape/patches-5.4/801-audio-0008-Revert-ASoC-Remove-dev_err-usage-after-platform_get_.patch +++ b/target/linux/layerscape/patches-5.4/801-audio-0008-Revert-ASoC-Remove-dev_err-usage-after-platform_get_.patch @@ -86,42 +86,30 @@ This reverts commit cf9441adb1a35506d7606866c382b9d8614169b5. if (err) { --- a/sound/soc/codecs/msm8916-wcd-analog.c +++ b/sound/soc/codecs/msm8916-wcd-analog.c -@@ -1195,8 +1195,10 @@ static int pm8916_wcd_analog_spmi_probe( - } +@@ -1196,6 +1196,7 @@ static int pm8916_wcd_analog_spmi_probe( irq = platform_get_irq_byname(pdev, "mbhc_switch_int"); -- if (irq < 0) -+ if (irq < 0) { + if (irq < 0) { + dev_err(dev, "failed to get mbhc switch irq\n"); - return irq; -+ } - - ret = devm_request_threaded_irq(dev, irq, NULL, - pm8916_mbhc_switch_irq_handler, -@@ -1208,8 +1210,10 @@ static int pm8916_wcd_analog_spmi_probe( - + ret = irq; + goto err_disable_clk; + } +@@ -1211,6 +1212,7 @@ static int pm8916_wcd_analog_spmi_probe( if (priv->mbhc_btn_enabled) { irq = platform_get_irq_byname(pdev, "mbhc_but_press_det"); -- if (irq < 0) -+ if (irq < 0) { + if (irq < 0) { + dev_err(dev, "failed to get button press irq\n"); - return irq; -+ } - - ret = devm_request_threaded_irq(dev, irq, NULL, - mbhc_btn_press_irq_handler, -@@ -1220,8 +1224,10 @@ static int pm8916_wcd_analog_spmi_probe( - dev_err(dev, "cannot request mbhc button press irq\n"); + ret = irq; + goto err_disable_clk; + } +@@ -1225,6 +1227,7 @@ static int pm8916_wcd_analog_spmi_probe( irq = platform_get_irq_byname(pdev, "mbhc_but_rel_det"); -- if (irq < 0) -+ if (irq < 0) { + if (irq < 0) { + dev_err(dev, "failed to get button release irq\n"); - return irq; -+ } - - ret = devm_request_threaded_irq(dev, irq, NULL, - mbhc_btn_release_irq_handler, + ret = irq; + goto err_disable_clk; + } --- a/sound/soc/codecs/twl6040.c +++ b/sound/soc/codecs/twl6040.c @@ -1108,8 +1108,10 @@ static int twl6040_probe(struct snd_soc_ @@ -278,7 +266,7 @@ This reverts commit cf9441adb1a35506d7606866c382b9d8614169b5. if (ret) { --- a/sound/soc/mxs/mxs-saif.c +++ b/sound/soc/mxs/mxs-saif.c -@@ -790,8 +790,12 @@ static int mxs_saif_probe(struct platfor +@@ -794,8 +794,12 @@ static int mxs_saif_probe(struct platfor return PTR_ERR(saif->base); irq = platform_get_irq(pdev, 0); diff --git a/target/linux/layerscape/patches-5.4/809-jailhouse-0020-jailhouse-Add-simple-debug-console-via-the-hyperviso.patch b/target/linux/layerscape/patches-5.4/809-jailhouse-0020-jailhouse-Add-simple-debug-console-via-the-hyperviso.patch index d3fb53ec5885c8..72f3048d8fe5f9 100644 --- a/target/linux/layerscape/patches-5.4/809-jailhouse-0020-jailhouse-Add-simple-debug-console-via-the-hyperviso.patch +++ b/target/linux/layerscape/patches-5.4/809-jailhouse-0020-jailhouse-Add-simple-debug-console-via-the-hyperviso.patch @@ -21,7 +21,7 @@ From http://git.kiszka.org/?p=linux.git;a=shortlog;h=refs/heads/queues/jailhouse --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -8774,6 +8774,7 @@ L: jailhouse-dev@googlegroups.com +@@ -8773,6 +8773,7 @@ L: jailhouse-dev@googlegroups.com S: Maintained F: arch/x86/kernel/jailhouse.c F: arch/x86/include/asm/jailhouse_para.h diff --git a/target/linux/layerscape/patches-5.4/810-keys-0001-security-keys-secure_key-Adds-the-secure-key-support.patch b/target/linux/layerscape/patches-5.4/810-keys-0001-security-keys-secure_key-Adds-the-secure-key-support.patch index 2347212a916bd9..65b996d879289d 100644 --- a/target/linux/layerscape/patches-5.4/810-keys-0001-security-keys-secure_key-Adds-the-secure-key-support.patch +++ b/target/linux/layerscape/patches-5.4/810-keys-0001-security-keys-secure_key-Adds-the-secure-key-support.patch @@ -100,7 +100,7 @@ Reviewed-by: Sahil Malhotra + $ keyctl load secure kmk-master "load 'cat secure_key.blob'" @u --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -9075,6 +9075,17 @@ F: include/keys/trusted-type.h +@@ -9074,6 +9074,17 @@ F: include/keys/trusted-type.h F: security/keys/trusted.c F: include/keys/trusted.h diff --git a/target/linux/layerscape/patches-5.4/810-keys-0002-encrypted_keys-Adds-support-for-secure-key-type-as-m.patch b/target/linux/layerscape/patches-5.4/810-keys-0002-encrypted_keys-Adds-support-for-secure-key-type-as-m.patch index 3a354e1fa88d77..ed2eaa8a6169ac 100644 --- a/target/linux/layerscape/patches-5.4/810-keys-0002-encrypted_keys-Adds-support-for-secure-key-type-as-m.patch +++ b/target/linux/layerscape/patches-5.4/810-keys-0002-encrypted_keys-Adds-support-for-secure-key-type-as-m.patch @@ -23,7 +23,7 @@ Reviewed-by: Sahil Malhotra --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -9085,6 +9085,7 @@ F: include/keys/secure-type.h +@@ -9084,6 +9084,7 @@ F: include/keys/secure-type.h F: security/keys/secure_key.c F: security/keys/securekey_desc.c F: security/keys/securekey_desc.h diff --git a/target/linux/layerscape/patches-5.4/812-pcie-0004-pci-add-support-aer-pme-interrupts-with-none-MSI-MSI.patch b/target/linux/layerscape/patches-5.4/812-pcie-0004-pci-add-support-aer-pme-interrupts-with-none-MSI-MSI.patch index 9c359d24b9b4fc..75ab447575eda7 100644 --- a/target/linux/layerscape/patches-5.4/812-pcie-0004-pci-add-support-aer-pme-interrupts-with-none-MSI-MSI.patch +++ b/target/linux/layerscape/patches-5.4/812-pcie-0004-pci-add-support-aer-pme-interrupts-with-none-MSI-MSI.patch @@ -229,7 +229,7 @@ Signed-off-by: Hou Zhiqiang * fall back to INTx or other interrupts, e.g., a system shared --- a/include/linux/pci.h +++ b/include/linux/pci.h -@@ -2024,6 +2024,7 @@ static inline void pcibios_penalize_isa_ +@@ -2025,6 +2025,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); diff --git a/target/linux/layerscape/patches-5.4/812-pcie-0009-PCI-mobiveil-Refactor-Mobiveil-PCIe-Host-Bridge-IP-d.patch b/target/linux/layerscape/patches-5.4/812-pcie-0009-PCI-mobiveil-Refactor-Mobiveil-PCIe-Host-Bridge-IP-d.patch index 08f7a7a0f0808a..acbf2fe35aec86 100644 --- a/target/linux/layerscape/patches-5.4/812-pcie-0009-PCI-mobiveil-Refactor-Mobiveil-PCIe-Host-Bridge-IP-d.patch +++ b/target/linux/layerscape/patches-5.4/812-pcie-0009-PCI-mobiveil-Refactor-Mobiveil-PCIe-Host-Bridge-IP-d.patch @@ -34,7 +34,7 @@ Reviewed-by: Subrahmanya Lingappa --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -12504,7 +12504,7 @@ M: Hou Zhiqiang +@@ -12503,7 +12503,7 @@ M: Hou Zhiqiang L: linux-pci@vger.kernel.org S: Supported F: Documentation/devicetree/bindings/pci/mobiveil-pcie.txt diff --git a/target/linux/layerscape/patches-5.4/812-pcie-0016-PCI-mobiveil-Add-the-EP-driver-support.patch b/target/linux/layerscape/patches-5.4/812-pcie-0016-PCI-mobiveil-Add-the-EP-driver-support.patch index 667094355f7749..5182eed992ffe3 100644 --- a/target/linux/layerscape/patches-5.4/812-pcie-0016-PCI-mobiveil-Add-the-EP-driver-support.patch +++ b/target/linux/layerscape/patches-5.4/812-pcie-0016-PCI-mobiveil-Add-the-EP-driver-support.patch @@ -20,7 +20,7 @@ Signed-off-by: Hou Zhiqiang --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -12501,6 +12501,7 @@ F: drivers/ntb/hw/mscc/ +@@ -12500,6 +12500,7 @@ F: drivers/ntb/hw/mscc/ PCI DRIVER FOR MOBIVEIL PCIE IP M: Karthikeyan Mitran M: Hou Zhiqiang diff --git a/target/linux/layerscape/patches-5.4/813-pm-0001-soc-fsl-add-RCPM-driver.patch b/target/linux/layerscape/patches-5.4/813-pm-0001-soc-fsl-add-RCPM-driver.patch index 533534d7c9e8c6..6bb5be37eed256 100644 --- a/target/linux/layerscape/patches-5.4/813-pm-0001-soc-fsl-add-RCPM-driver.patch +++ b/target/linux/layerscape/patches-5.4/813-pm-0001-soc-fsl-add-RCPM-driver.patch @@ -24,7 +24,7 @@ Signed-off-by: Yangbo Lu --- a/drivers/soc/fsl/Kconfig +++ b/drivers/soc/fsl/Kconfig -@@ -52,4 +52,13 @@ config FSL_QIXIS +@@ -53,4 +53,13 @@ config FSL_QIXIS Say y here to enable QIXIS system controller api. The qixis driver provides FPGA functions to control system. diff --git a/target/linux/layerscape/patches-5.4/813-pm-0003-drivers-soc-fsl-add-EPU-FSM-configuration-for-deep-s.patch b/target/linux/layerscape/patches-5.4/813-pm-0003-drivers-soc-fsl-add-EPU-FSM-configuration-for-deep-s.patch index 21ac78b68d509a..bcf8099f5b92ec 100644 --- a/target/linux/layerscape/patches-5.4/813-pm-0003-drivers-soc-fsl-add-EPU-FSM-configuration-for-deep-s.patch +++ b/target/linux/layerscape/patches-5.4/813-pm-0003-drivers-soc-fsl-add-EPU-FSM-configuration-for-deep-s.patch @@ -26,7 +26,7 @@ Signed-off-by: Ran Wang --- a/drivers/soc/fsl/Kconfig +++ b/drivers/soc/fsl/Kconfig -@@ -31,6 +31,13 @@ config FSL_MC_DPIO +@@ -32,6 +32,13 @@ config FSL_MC_DPIO objects individually, but groups them under a service layer API. diff --git a/target/linux/layerscape/patches-5.4/813-pm-0004-PM-wakeup-Add-routine-to-help-fetch-wakeup-source-ob.patch b/target/linux/layerscape/patches-5.4/813-pm-0004-PM-wakeup-Add-routine-to-help-fetch-wakeup-source-ob.patch index 091588b1d79ee1..816cdde874c6e6 100644 --- a/target/linux/layerscape/patches-5.4/813-pm-0004-PM-wakeup-Add-routine-to-help-fetch-wakeup-source-ob.patch +++ b/target/linux/layerscape/patches-5.4/813-pm-0004-PM-wakeup-Add-routine-to-help-fetch-wakeup-source-ob.patch @@ -20,7 +20,7 @@ Acked-by: Anson Huang --- a/drivers/base/power/wakeup.c +++ b/drivers/base/power/wakeup.c -@@ -250,6 +250,60 @@ void wakeup_source_unregister(struct wak +@@ -251,6 +251,60 @@ void wakeup_source_unregister(struct wak EXPORT_SYMBOL_GPL(wakeup_source_unregister); /** diff --git a/target/linux/layerscape/patches-5.4/814-qe-0006-config-qe-add-irq-qeic-support.patch b/target/linux/layerscape/patches-5.4/814-qe-0006-config-qe-add-irq-qeic-support.patch index 5d8c35d04f476b..babf74329b1928 100644 --- a/target/linux/layerscape/patches-5.4/814-qe-0006-config-qe-add-irq-qeic-support.patch +++ b/target/linux/layerscape/patches-5.4/814-qe-0006-config-qe-add-irq-qeic-support.patch @@ -12,7 +12,7 @@ Signed-off-by: Zhao Qiang --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -6598,6 +6598,12 @@ F: drivers/soc/fsl/qe/ +@@ -6597,6 +6597,12 @@ F: drivers/soc/fsl/qe/ F: include/soc/fsl/*qe*.h F: include/soc/fsl/*ucc*.h diff --git a/target/linux/layerscape/patches-5.4/816-sdhc-0001-mmc-sdhci-of-esdhc-poll-ESDHC_FLUSH_ASYNC_FIFO-bit-u.patch b/target/linux/layerscape/patches-5.4/816-sdhc-0001-mmc-sdhci-of-esdhc-poll-ESDHC_FLUSH_ASYNC_FIFO-bit-u.patch index 085de51c140657..35f4c1bf84356d 100644 --- a/target/linux/layerscape/patches-5.4/816-sdhc-0001-mmc-sdhci-of-esdhc-poll-ESDHC_FLUSH_ASYNC_FIFO-bit-u.patch +++ b/target/linux/layerscape/patches-5.4/816-sdhc-0001-mmc-sdhci-of-esdhc-poll-ESDHC_FLUSH_ASYNC_FIFO-bit-u.patch @@ -14,7 +14,7 @@ Signed-off-by: Yangbo Lu --- a/drivers/mmc/host/sdhci-of-esdhc.c +++ b/drivers/mmc/host/sdhci-of-esdhc.c -@@ -592,6 +592,32 @@ static void esdhc_clock_enable(struct sd +@@ -596,6 +596,32 @@ static void esdhc_clock_enable(struct sd } } @@ -47,7 +47,7 @@ Signed-off-by: Yangbo Lu static void esdhc_of_set_clock(struct sdhci_host *host, unsigned int clock) { struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); -@@ -684,9 +710,7 @@ static void esdhc_of_set_clock(struct sd +@@ -688,9 +714,7 @@ static void esdhc_of_set_clock(struct sd sdhci_writel(host, temp | ESDHC_HS400_WNDW_ADJUST, ESDHC_TBCTL); esdhc_clock_enable(host, false); @@ -58,7 +58,7 @@ Signed-off-by: Yangbo Lu } /* Wait max 20 ms */ -@@ -888,10 +912,7 @@ static void esdhc_tuning_block_enable(st +@@ -893,10 +917,7 @@ static void esdhc_tuning_block_enable(st u32 val; esdhc_clock_enable(host, false); diff --git a/target/linux/layerscape/patches-5.4/816-sdhc-0002-LF-605-mmc-sdhci-of-esdhc-convert-to-use-esdhc_tunin.patch b/target/linux/layerscape/patches-5.4/816-sdhc-0002-LF-605-mmc-sdhci-of-esdhc-convert-to-use-esdhc_tunin.patch index df19568863c418..66518ca01e4e36 100644 --- a/target/linux/layerscape/patches-5.4/816-sdhc-0002-LF-605-mmc-sdhci-of-esdhc-convert-to-use-esdhc_tunin.patch +++ b/target/linux/layerscape/patches-5.4/816-sdhc-0002-LF-605-mmc-sdhci-of-esdhc-convert-to-use-esdhc_tunin.patch @@ -15,7 +15,7 @@ Acked-by: Adrian Hunter --- a/drivers/mmc/host/sdhci-of-esdhc.c +++ b/drivers/mmc/host/sdhci-of-esdhc.c -@@ -924,20 +924,11 @@ static void esdhc_tuning_block_enable(st +@@ -929,20 +929,11 @@ static void esdhc_tuning_block_enable(st esdhc_clock_enable(host, true); } @@ -37,7 +37,7 @@ Acked-by: Adrian Hunter /* Write TBCTL[11:8]=4'h8 */ val = sdhci_readl(host, ESDHC_TBCTL); val &= ~(0xf << 8); -@@ -956,6 +947,25 @@ static void esdhc_prepare_sw_tuning(stru +@@ -961,6 +952,25 @@ static void esdhc_prepare_sw_tuning(stru val = sdhci_readl(host, ESDHC_TBSTAT); val = sdhci_readl(host, ESDHC_TBSTAT); @@ -63,7 +63,7 @@ Acked-by: Adrian Hunter /* Reset data lines by setting ESDHCCTL[RSTD] */ sdhci_reset(host, SDHCI_RESET_DATA); /* Write 32'hFFFF_FFFF to IRQSTAT register */ -@@ -966,10 +976,8 @@ static void esdhc_prepare_sw_tuning(stru +@@ -971,10 +981,8 @@ static void esdhc_prepare_sw_tuning(stru * then program TBPTR[TB_WNDW_END_PTR] = 4 * div_ratio * and program TBPTR[TB_WNDW_START_PTR] = 8 * div_ratio. */ diff --git a/target/linux/layerscape/patches-5.4/816-sdhc-0003-LF-605-mmc-sdhci-of-esdhc-update-tuning-erratum-A-00.patch b/target/linux/layerscape/patches-5.4/816-sdhc-0003-LF-605-mmc-sdhci-of-esdhc-update-tuning-erratum-A-00.patch index 4a16dbd505327c..f9722b36982f7c 100644 --- a/target/linux/layerscape/patches-5.4/816-sdhc-0003-LF-605-mmc-sdhci-of-esdhc-update-tuning-erratum-A-00.patch +++ b/target/linux/layerscape/patches-5.4/816-sdhc-0003-LF-605-mmc-sdhci-of-esdhc-update-tuning-erratum-A-00.patch @@ -20,7 +20,7 @@ Acked-by: Adrian Hunter --- a/drivers/mmc/host/sdhci-of-esdhc.c +++ b/drivers/mmc/host/sdhci-of-esdhc.c -@@ -890,20 +890,20 @@ static int esdhc_signal_voltage_switch(s +@@ -895,20 +895,20 @@ static int esdhc_signal_voltage_switch(s } static struct soc_device_attribute soc_tuning_erratum_type1[] = { @@ -51,7 +51,7 @@ Acked-by: Adrian Hunter { }, }; -@@ -971,13 +971,13 @@ static void esdhc_prepare_sw_tuning(stru +@@ -976,13 +976,13 @@ static void esdhc_prepare_sw_tuning(stru /* Write 32'hFFFF_FFFF to IRQSTAT register */ sdhci_writel(host, 0xFFFFFFFF, SDHCI_INT_STATUS); @@ -68,7 +68,7 @@ Acked-by: Adrian Hunter *window_start = 8 * esdhc->div_ratio; *window_end = 4 * esdhc->div_ratio; } else { -@@ -1061,6 +1061,19 @@ static int esdhc_execute_tuning(struct m +@@ -1066,6 +1066,19 @@ static int esdhc_execute_tuning(struct m if (ret) break; diff --git a/target/linux/layerscape/patches-5.4/817-spi-0006-LF-20-2-mtd-spi-nor-Use-1-bit-mode-of-spansion-s25fs.patch b/target/linux/layerscape/patches-5.4/817-spi-0006-LF-20-2-mtd-spi-nor-Use-1-bit-mode-of-spansion-s25fs.patch index 8488bbaf50586a..9c83b4c7f72e20 100644 --- a/target/linux/layerscape/patches-5.4/817-spi-0006-LF-20-2-mtd-spi-nor-Use-1-bit-mode-of-spansion-s25fs.patch +++ b/target/linux/layerscape/patches-5.4/817-spi-0006-LF-20-2-mtd-spi-nor-Use-1-bit-mode-of-spansion-s25fs.patch @@ -11,7 +11,7 @@ Signed-off-by: Kuldeep Singh --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c -@@ -2420,7 +2420,7 @@ static const struct flash_info spi_nor_i +@@ -2419,7 +2419,7 @@ static const struct flash_info spi_nor_i { "s25fl512s", INFO6(0x010220, 0x4d0080, 256 * 1024, 256, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_HAS_LOCK | USE_CLSR) }, diff --git a/target/linux/layerscape/patches-5.4/819-uart-0001-tty-serial-lpuart-add-power-domain-support.patch b/target/linux/layerscape/patches-5.4/819-uart-0001-tty-serial-lpuart-add-power-domain-support.patch index ce93640b553df3..ab2e115e60c1b8 100644 --- a/target/linux/layerscape/patches-5.4/819-uart-0001-tty-serial-lpuart-add-power-domain-support.patch +++ b/target/linux/layerscape/patches-5.4/819-uart-0001-tty-serial-lpuart-add-power-domain-support.patch @@ -27,7 +27,7 @@ Signed-off-by: Fugang Duan #include #include #include -@@ -2391,6 +2393,54 @@ static struct uart_driver lpuart_reg = { +@@ -2392,6 +2394,54 @@ static struct uart_driver lpuart_reg = { .cons = LPUART_CONSOLE, }; @@ -82,7 +82,7 @@ Signed-off-by: Fugang Duan static int lpuart_probe(struct platform_device *pdev) { const struct of_device_id *of_id = of_match_device(lpuart_dt_ids, -@@ -2428,6 +2478,10 @@ static int lpuart_probe(struct platform_ +@@ -2429,6 +2479,10 @@ static int lpuart_probe(struct platform_ sport->port.rs485_config = lpuart_config_rs485; diff --git a/target/linux/layerscape/patches-5.4/819-uart-0005-tty-serial-fsl_lpuart-enable-dma-mode-for-imx8qxp.patch b/target/linux/layerscape/patches-5.4/819-uart-0005-tty-serial-fsl_lpuart-enable-dma-mode-for-imx8qxp.patch index 22261a4cd54275..dc3598c1de997b 100644 --- a/target/linux/layerscape/patches-5.4/819-uart-0005-tty-serial-fsl_lpuart-enable-dma-mode-for-imx8qxp.patch +++ b/target/linux/layerscape/patches-5.4/819-uart-0005-tty-serial-fsl_lpuart-enable-dma-mode-for-imx8qxp.patch @@ -536,7 +536,7 @@ Signed-off-by: Fugang Duan lpuart_dma_rx_free(&sport->port); } -@@ -2480,6 +2636,10 @@ static int lpuart_probe(struct platform_ +@@ -2481,6 +2637,10 @@ static int lpuart_probe(struct platform_ sport->port.dev = &pdev->dev; sport->port.type = PORT_LPUART; sport->devtype = sdata->devtype; @@ -547,7 +547,7 @@ Signed-off-by: Fugang Duan ret = platform_get_irq(pdev, 0); if (ret < 0) return ret; -@@ -2630,7 +2790,7 @@ static int lpuart_suspend(struct device +@@ -2631,7 +2791,7 @@ static int lpuart_suspend(struct device * Rx DMA path before suspend and start Rx DMA path on resume. */ if (irq_wake) { diff --git a/target/linux/layerscape/patches-5.4/819-uart-0008-MLK-21445-serial-fsl_lpuart-do-HW-reset-for-communic.patch b/target/linux/layerscape/patches-5.4/819-uart-0008-MLK-21445-serial-fsl_lpuart-do-HW-reset-for-communic.patch index 05c2426d537dc3..a07aca5028df1a 100644 --- a/target/linux/layerscape/patches-5.4/819-uart-0008-MLK-21445-serial-fsl_lpuart-do-HW-reset-for-communic.patch +++ b/target/linux/layerscape/patches-5.4/819-uart-0008-MLK-21445-serial-fsl_lpuart-do-HW-reset-for-communic.patch @@ -105,7 +105,7 @@ Signed-off-by: Shrikant Bobade static void lpuart_stop_tx(struct uart_port *port) { unsigned char temp; -@@ -2723,6 +2765,10 @@ static int lpuart_probe(struct platform_ +@@ -2724,6 +2766,10 @@ static int lpuart_probe(struct platform_ if (ret) goto failed_attach_port; @@ -116,7 +116,7 @@ Signed-off-by: Shrikant Bobade uart_get_rs485_mode(&pdev->dev, &sport->port.rs485); if (sport->port.rs485.flags & SER_RS485_RX_DURING_TX) -@@ -2746,6 +2792,8 @@ static int lpuart_probe(struct platform_ +@@ -2747,6 +2793,8 @@ static int lpuart_probe(struct platform_ return 0; diff --git a/target/linux/layerscape/patches-5.4/819-uart-0009-MLK-17133-02-tty-serial-lpuart-add-runtime-pm-suppor.patch b/target/linux/layerscape/patches-5.4/819-uart-0009-MLK-17133-02-tty-serial-lpuart-add-runtime-pm-suppor.patch index 635dfeb661838b..a41d4870676be3 100644 --- a/target/linux/layerscape/patches-5.4/819-uart-0009-MLK-17133-02-tty-serial-lpuart-add-runtime-pm-suppor.patch +++ b/target/linux/layerscape/patches-5.4/819-uart-0009-MLK-17133-02-tty-serial-lpuart-add-runtime-pm-suppor.patch @@ -43,7 +43,7 @@ Reviewed-by: Robin Gong /* return TIOCSER_TEMT when transmitter is not busy */ static unsigned int lpuart_tx_empty(struct uart_port *port) { -@@ -2280,6 +2295,7 @@ static const struct uart_ops lpuart_pops +@@ -2281,6 +2296,7 @@ static const struct uart_ops lpuart_pops .break_ctl = lpuart_break_ctl, .startup = lpuart_startup, .shutdown = lpuart_shutdown, @@ -51,7 +51,7 @@ Reviewed-by: Robin Gong .set_termios = lpuart_set_termios, .type = lpuart_type, .request_port = lpuart_request_port, -@@ -2304,6 +2320,7 @@ static const struct uart_ops lpuart32_po +@@ -2305,6 +2321,7 @@ static const struct uart_ops lpuart32_po .break_ctl = lpuart32_break_ctl, .startup = lpuart32_startup, .shutdown = lpuart32_shutdown, @@ -59,7 +59,7 @@ Reviewed-by: Robin Gong .set_termios = lpuart32_set_termios, .type = lpuart_type, .request_port = lpuart_request_port, -@@ -2761,6 +2778,11 @@ static int lpuart_probe(struct platform_ +@@ -2762,6 +2779,11 @@ static int lpuart_probe(struct platform_ if (ret) goto failed_irq_request; @@ -71,7 +71,7 @@ Reviewed-by: Robin Gong ret = uart_add_one_port(&lpuart_reg, &sport->port); if (ret) goto failed_attach_port; -@@ -2795,6 +2817,9 @@ static int lpuart_probe(struct platform_ +@@ -2796,6 +2818,9 @@ static int lpuart_probe(struct platform_ failed_reset: uart_remove_one_port(&lpuart_reg, &sport->port); failed_attach_port: @@ -81,7 +81,7 @@ Reviewed-by: Robin Gong failed_irq_request: lpuart_disable_clks(sport); return ret; -@@ -2814,15 +2839,41 @@ static int lpuart_remove(struct platform +@@ -2815,15 +2840,41 @@ static int lpuart_remove(struct platform if (sport->dma_rx_chan) dma_release_channel(sport->dma_rx_chan); @@ -123,7 +123,7 @@ Reviewed-by: Robin Gong if (lpuart_is_32(sport)) { /* disable Rx/Tx and interrupts */ -@@ -2836,10 +2887,14 @@ static int lpuart_suspend(struct device +@@ -2837,10 +2888,14 @@ static int lpuart_suspend(struct device writeb(temp, sport->port.membase + UARTCR2); } @@ -138,7 +138,7 @@ Reviewed-by: Robin Gong if (sport->lpuart_dma_rx_use) { /* -@@ -2870,9 +2925,6 @@ static int lpuart_suspend(struct device +@@ -2871,9 +2926,6 @@ static int lpuart_suspend(struct device dmaengine_terminate_all(sport->dma_tx_chan); } @@ -148,7 +148,7 @@ Reviewed-by: Robin Gong return 0; } -@@ -2880,9 +2932,11 @@ static int lpuart_resume(struct device * +@@ -2881,9 +2933,11 @@ static int lpuart_resume(struct device * { struct lpuart_port *sport = dev_get_drvdata(dev); bool irq_wake = irqd_is_wakeup_set(irq_get_irq_data(sport->port.irq)); @@ -162,7 +162,7 @@ Reviewed-by: Robin Gong if (lpuart_is_32(sport)) lpuart32_setup_watermark_enable(sport); -@@ -2903,13 +2957,23 @@ static int lpuart_resume(struct device * +@@ -2904,13 +2958,23 @@ static int lpuart_resume(struct device * if (lpuart_is_32(sport)) lpuart32_configure(sport); @@ -188,7 +188,7 @@ Reviewed-by: Robin Gong static struct platform_driver lpuart_driver = { .probe = lpuart_probe, -@@ -2917,7 +2981,7 @@ static struct platform_driver lpuart_dri +@@ -2918,7 +2982,7 @@ static struct platform_driver lpuart_dri .driver = { .name = "fsl-lpuart", .of_match_table = lpuart_dt_ids, diff --git a/target/linux/layerscape/patches-5.4/819-uart-0010-tty-serial-lpuart-enable-wakeup-source-for-lpuart.patch b/target/linux/layerscape/patches-5.4/819-uart-0010-tty-serial-lpuart-enable-wakeup-source-for-lpuart.patch index e3bd82683fe016..6f4debc84db402 100644 --- a/target/linux/layerscape/patches-5.4/819-uart-0010-tty-serial-lpuart-enable-wakeup-source-for-lpuart.patch +++ b/target/linux/layerscape/patches-5.4/819-uart-0010-tty-serial-lpuart-enable-wakeup-source-for-lpuart.patch @@ -117,7 +117,7 @@ Signed-off-by: Fugang Duan return 0; } -@@ -2864,108 +2878,205 @@ static int lpuart_runtime_resume(struct +@@ -2865,108 +2879,205 @@ static int lpuart_runtime_resume(struct return lpuart_enable_clks(sport); }; diff --git a/target/linux/layerscape/patches-5.4/819-uart-0011-serial-fsl_lpuart-enable-two-stop-bits.patch b/target/linux/layerscape/patches-5.4/819-uart-0011-serial-fsl_lpuart-enable-two-stop-bits.patch index 4f93d43f77b603..1c3e06d901a2a4 100644 --- a/target/linux/layerscape/patches-5.4/819-uart-0011-serial-fsl_lpuart-enable-two-stop-bits.patch +++ b/target/linux/layerscape/patches-5.4/819-uart-0011-serial-fsl_lpuart-enable-two-stop-bits.patch @@ -39,7 +39,7 @@ Signed-off-by: Fugang Duan /* parity must be enabled when CS7 to match 8-bits format */ if ((termios->c_cflag & CSIZE) == CS7) -@@ -2243,6 +2246,7 @@ lpuart32_set_termios(struct uart_port *p +@@ -2244,6 +2247,7 @@ lpuart32_set_termios(struct uart_port *p lpuart32_write(&sport->port, old_ctrl & ~(UARTCTRL_TE | UARTCTRL_RE), UARTCTRL); diff --git a/target/linux/layerscape/patches-5.4/819-uart-0013-LF-484-tty-serial-lpuart-support-UPIO_MEM32-for-lpua.patch b/target/linux/layerscape/patches-5.4/819-uart-0013-LF-484-tty-serial-lpuart-support-UPIO_MEM32-for-lpua.patch index 4223d1e2f23803..b82f7afa3eacf5 100644 --- a/target/linux/layerscape/patches-5.4/819-uart-0013-LF-484-tty-serial-lpuart-support-UPIO_MEM32-for-lpua.patch +++ b/target/linux/layerscape/patches-5.4/819-uart-0013-LF-484-tty-serial-lpuart-support-UPIO_MEM32-for-lpua.patch @@ -24,7 +24,7 @@ Signed-off-by: Peng Fan --- a/drivers/tty/serial/fsl_lpuart.c +++ b/drivers/tty/serial/fsl_lpuart.c -@@ -2614,7 +2614,9 @@ static int __init lpuart32_early_console +@@ -2615,7 +2615,9 @@ static int __init lpuart32_early_console if (!device->port.membase) return -ENODEV; diff --git a/target/linux/layerscape/patches-5.4/820-usb-0004-usb-dwc3-use-suspend-clock-from-dt-to-set-power-down.patch b/target/linux/layerscape/patches-5.4/820-usb-0004-usb-dwc3-use-suspend-clock-from-dt-to-set-power-down.patch index a60167e945efc7..70377a8baf8d41 100644 --- a/target/linux/layerscape/patches-5.4/820-usb-0004-usb-dwc3-use-suspend-clock-from-dt-to-set-power-down.patch +++ b/target/linux/layerscape/patches-5.4/820-usb-0004-usb-dwc3-use-suspend-clock-from-dt-to-set-power-down.patch @@ -15,7 +15,7 @@ Signed-off-by: Li Jun --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c -@@ -900,6 +900,25 @@ static void dwc3_set_incr_burst_type(str +@@ -901,6 +901,25 @@ static void dwc3_set_incr_burst_type(str dwc3_writel(dwc->regs, DWC3_GSBUSCFG0, cfg); } @@ -41,7 +41,7 @@ Signed-off-by: Li Jun /** * dwc3_core_init - Low-level initialization of DWC3 Core * @dwc: Pointer to our controller context structure -@@ -924,6 +943,8 @@ static int dwc3_core_init(struct dwc3 *d +@@ -925,6 +944,8 @@ static int dwc3_core_init(struct dwc3 *d dwc->maximum_speed = USB_SPEED_HIGH; } diff --git a/target/linux/layerscape/patches-5.4/820-usb-0005-usb-dwc3-add-otg-properties-update.patch b/target/linux/layerscape/patches-5.4/820-usb-0005-usb-dwc3-add-otg-properties-update.patch index 37fee125d71b97..62220ee8e5e6ba 100644 --- a/target/linux/layerscape/patches-5.4/820-usb-0005-usb-dwc3-add-otg-properties-update.patch +++ b/target/linux/layerscape/patches-5.4/820-usb-0005-usb-dwc3-add-otg-properties-update.patch @@ -16,7 +16,7 @@ Signed-off-by: Peter Chen --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c -@@ -1269,6 +1269,17 @@ static void dwc3_get_properties(struct d +@@ -1270,6 +1270,17 @@ static void dwc3_get_properties(struct d dwc->maximum_speed = usb_get_maximum_speed(dev); dwc->dr_mode = usb_get_dr_mode(dev); @@ -54,7 +54,7 @@ Signed-off-by: Peter Chen * All 3.1 IP version constants are greater than the 3.0 IP --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c -@@ -3670,6 +3670,10 @@ int dwc3_gadget_init(struct dwc3 *dwc) +@@ -3701,6 +3701,10 @@ int dwc3_gadget_init(struct dwc3 *dwc) dwc->gadget.sg_supported = true; dwc->gadget.name = "dwc3-gadget"; dwc->gadget.lpm_capable = true; diff --git a/target/linux/layerscape/patches-5.4/820-usb-0009-usb-dwc3-Add-workaround-for-host-mode-VBUS-glitch-wh.patch b/target/linux/layerscape/patches-5.4/820-usb-0009-usb-dwc3-Add-workaround-for-host-mode-VBUS-glitch-wh.patch index 82e2a25e2d0f14..60b110ad580944 100644 --- a/target/linux/layerscape/patches-5.4/820-usb-0009-usb-dwc3-Add-workaround-for-host-mode-VBUS-glitch-wh.patch +++ b/target/linux/layerscape/patches-5.4/820-usb-0009-usb-dwc3-Add-workaround-for-host-mode-VBUS-glitch-wh.patch @@ -32,7 +32,7 @@ Reviewed-by: Peter Chen --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c -@@ -1364,6 +1364,9 @@ static void dwc3_get_properties(struct d +@@ -1365,6 +1365,9 @@ static void dwc3_get_properties(struct d dwc->dis_split_quirk = device_property_read_bool(dev, "snps,dis-split-quirk"); @@ -64,15 +64,10 @@ Reviewed-by: Peter Chen --- a/drivers/usb/dwc3/host.c +++ b/drivers/usb/dwc3/host.c -@@ -9,8 +9,49 @@ - - #include - -+#include "../host/xhci.h" -+ - #include "core.h" +@@ -16,6 +16,44 @@ static const struct xhci_plat_priv dwc3_ + .quirks = XHCI_SKIP_PHY_INIT, + }; -+ +#define XHCI_HCSPARAMS1 0x4 +#define XHCI_PORTSC_BASE 0x400 + @@ -114,7 +109,7 @@ Reviewed-by: Peter Chen static int dwc3_host_get_irq(struct dwc3 *dwc) { struct platform_device *dwc3_pdev = to_platform_device(dwc->dev); -@@ -50,6 +91,13 @@ int dwc3_host_init(struct dwc3 *dwc) +@@ -55,6 +93,13 @@ int dwc3_host_init(struct dwc3 *dwc) struct platform_device *dwc3_pdev = to_platform_device(dwc->dev); int prop_idx = 0; diff --git a/target/linux/layerscape/patches-5.4/820-usb-0010-MLK-22675-usb-dwc3-host-disable-park-mode.patch b/target/linux/layerscape/patches-5.4/820-usb-0010-MLK-22675-usb-dwc3-host-disable-park-mode.patch index 0e6a9278d78feb..194c6cdcfafea2 100644 --- a/target/linux/layerscape/patches-5.4/820-usb-0010-MLK-22675-usb-dwc3-host-disable-park-mode.patch +++ b/target/linux/layerscape/patches-5.4/820-usb-0010-MLK-22675-usb-dwc3-host-disable-park-mode.patch @@ -54,7 +54,7 @@ Signed-off-by: Li Jun --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c -@@ -1039,6 +1039,21 @@ static int dwc3_core_init(struct dwc3 *d +@@ -1040,6 +1040,21 @@ static int dwc3_core_init(struct dwc3 *d reg |= DWC3_GUCTL_HSTINAUTORETRY; dwc3_writel(dwc->regs, DWC3_GUCTL, reg); diff --git a/target/linux/layerscape/patches-5.4/820-usb-0011-usb-dwc3-Add-cache-type-configuration-support.patch b/target/linux/layerscape/patches-5.4/820-usb-0011-usb-dwc3-Add-cache-type-configuration-support.patch index 7c9a153aec62da..f0fec7d2c41dee 100644 --- a/target/linux/layerscape/patches-5.4/820-usb-0011-usb-dwc3-Add-cache-type-configuration-support.patch +++ b/target/linux/layerscape/patches-5.4/820-usb-0011-usb-dwc3-Add-cache-type-configuration-support.patch @@ -43,7 +43,7 @@ Reviewed-by: Jun Li --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c -@@ -919,6 +919,54 @@ static void dwc3_set_power_down_clk_scal +@@ -920,6 +920,54 @@ static void dwc3_set_power_down_clk_scal dwc3_writel(dwc->regs, DWC3_GCTL, reg); } @@ -98,7 +98,7 @@ Reviewed-by: Jun Li /** * dwc3_core_init - Low-level initialization of DWC3 Core * @dwc: Pointer to our controller context structure -@@ -979,6 +1027,10 @@ static int dwc3_core_init(struct dwc3 *d +@@ -980,6 +1028,10 @@ static int dwc3_core_init(struct dwc3 *d dwc3_set_incr_burst_type(dwc); @@ -109,7 +109,7 @@ Reviewed-by: Jun Li usb_phy_set_suspend(dwc->usb2_phy, 0); usb_phy_set_suspend(dwc->usb3_phy, 0); ret = phy_power_on(dwc->usb2_generic_phy); -@@ -1932,12 +1984,9 @@ static const struct dev_pm_ops dwc3_dev_ +@@ -1933,12 +1985,9 @@ static const struct dev_pm_ops dwc3_dev_ #ifdef CONFIG_OF static const struct of_device_id of_dwc3_match[] = { diff --git a/target/linux/layerscape/patches-5.4/820-usb-0014-MLK-17380-3-usb-move-EH-SINGLE_STEP_SET_FEATURE-impl.patch b/target/linux/layerscape/patches-5.4/820-usb-0014-MLK-17380-3-usb-move-EH-SINGLE_STEP_SET_FEATURE-impl.patch index e4feadec9f5caf..e232cee622c672 100644 --- a/target/linux/layerscape/patches-5.4/820-usb-0014-MLK-17380-3-usb-move-EH-SINGLE_STEP_SET_FEATURE-impl.patch +++ b/target/linux/layerscape/patches-5.4/820-usb-0014-MLK-17380-3-usb-move-EH-SINGLE_STEP_SET_FEATURE-impl.patch @@ -20,7 +20,7 @@ Signed-off-by: Peter Chen --- a/drivers/usb/core/hcd.c +++ b/drivers/usb/core/hcd.c -@@ -2125,6 +2125,140 @@ int usb_hcd_get_frame_number (struct usb +@@ -2128,6 +2128,140 @@ int usb_hcd_get_frame_number (struct usb } /*-------------------------------------------------------------------------*/ @@ -335,7 +335,7 @@ Signed-off-by: Peter Chen int is_setup --- a/include/linux/usb/hcd.h +++ b/include/linux/usb/hcd.h -@@ -411,7 +411,10 @@ struct hc_driver { +@@ -412,7 +412,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 }; static inline int hcd_giveback_urb_in_bh(struct usb_hcd *hcd) -@@ -476,6 +479,14 @@ int usb_hcd_setup_local_mem(struct usb_h +@@ -477,6 +480,14 @@ int usb_hcd_setup_local_mem(struct usb_h struct platform_device; extern void usb_hcd_platform_shutdown(struct platform_device *dev); diff --git a/target/linux/layerscape/patches-5.4/820-usb-0015-MLK-17380-4-usb-host-xhci-add-EH-SINGLE_STEP_SET_FEA.patch b/target/linux/layerscape/patches-5.4/820-usb-0015-MLK-17380-4-usb-host-xhci-add-EH-SINGLE_STEP_SET_FEA.patch index 6b90c65677d902..00a80c84faee3a 100644 --- a/target/linux/layerscape/patches-5.4/820-usb-0015-MLK-17380-4-usb-host-xhci-add-EH-SINGLE_STEP_SET_FEA.patch +++ b/target/linux/layerscape/patches-5.4/820-usb-0015-MLK-17380-4-usb-host-xhci-add-EH-SINGLE_STEP_SET_FEA.patch @@ -24,7 +24,7 @@ Signed-off-by: Peter Chen --- a/drivers/usb/host/xhci-hub.c +++ b/drivers/usb/host/xhci-hub.c -@@ -1422,6 +1422,15 @@ int xhci_hub_control(struct usb_hcd *hcd +@@ -1425,6 +1425,15 @@ int xhci_hub_control(struct usb_hcd *hcd /* 4.19.6 Port Test Modes (USB2 Test Mode) */ if (hcd->speed != HCD_USB2) goto error; @@ -42,7 +42,7 @@ Signed-off-by: Peter Chen retval = xhci_enter_test_mode(xhci, test_mode, wIndex, --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c -@@ -3636,6 +3636,129 @@ int xhci_queue_ctrl_tx(struct xhci_hcd * +@@ -3638,6 +3638,129 @@ int xhci_queue_ctrl_tx(struct xhci_hcd * return 0; } @@ -174,7 +174,7 @@ Signed-off-by: Peter Chen * 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 -@@ -5403,6 +5403,7 @@ static const struct hc_driver xhci_hc_dr +@@ -5414,6 +5414,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, @@ -184,7 +184,7 @@ Signed-off-by: Peter Chen void xhci_init_driver(struct hc_driver *drv, --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h -@@ -2154,6 +2154,16 @@ int xhci_find_raw_port_number(struct usb +@@ -2157,6 +2157,16 @@ int xhci_find_raw_port_number(struct usb struct xhci_hub *xhci_get_rhub(struct usb_hcd *hcd); void xhci_hc_died(struct xhci_hcd *xhci); diff --git a/target/linux/layerscape/patches-5.4/820-usb-0016-MLK-16735-usb-host-add-XHCI_CDNS_HOST-flag.patch b/target/linux/layerscape/patches-5.4/820-usb-0016-MLK-16735-usb-host-add-XHCI_CDNS_HOST-flag.patch index 617374a26bec26..396bf2b70aa33e 100644 --- a/target/linux/layerscape/patches-5.4/820-usb-0016-MLK-16735-usb-host-add-XHCI_CDNS_HOST-flag.patch +++ b/target/linux/layerscape/patches-5.4/820-usb-0016-MLK-16735-usb-host-add-XHCI_CDNS_HOST-flag.patch @@ -21,7 +21,7 @@ Signed-off-by: Peter Chen --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c -@@ -193,7 +193,7 @@ int xhci_reset(struct xhci_hcd *xhci) +@@ -195,7 +195,7 @@ int xhci_reset(struct xhci_hcd *xhci, u6 * Without this delay, the subsequent HC register access, * may result in a system hang very rarely. */ @@ -29,10 +29,10 @@ Signed-off-by: Peter Chen + if (xhci->quirks & (XHCI_INTEL_HOST | XHCI_CDNS_HOST)) udelay(1000); - ret = xhci_handshake(&xhci->op_regs->command, + ret = xhci_handshake(&xhci->op_regs->command, CMD_RESET, 0, timeout_us); --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h -@@ -1877,6 +1877,7 @@ struct xhci_hcd { +@@ -1880,6 +1880,7 @@ struct xhci_hcd { #define XHCI_DEFAULT_PM_RUNTIME_ALLOW BIT_ULL(33) #define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34) #define XHCI_SNPS_BROKEN_SUSPEND BIT_ULL(35) diff --git a/target/linux/layerscape/patches-5.4/820-usb-0018-MLK-18794-1-usb-host-xhci-add-.bus_suspend-override.patch b/target/linux/layerscape/patches-5.4/820-usb-0018-MLK-18794-1-usb-host-xhci-add-.bus_suspend-override.patch index bcf1bc0a9dc960..819a60c52ae53c 100644 --- a/target/linux/layerscape/patches-5.4/820-usb-0018-MLK-18794-1-usb-host-xhci-add-.bus_suspend-override.patch +++ b/target/linux/layerscape/patches-5.4/820-usb-0018-MLK-18794-1-usb-host-xhci-add-.bus_suspend-override.patch @@ -24,7 +24,7 @@ Signed-off-by: Peter Chen --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c -@@ -5424,6 +5424,8 @@ void xhci_init_driver(struct hc_driver * +@@ -5435,6 +5435,8 @@ void xhci_init_driver(struct hc_driver * drv->check_bandwidth = over->check_bandwidth; if (over->reset_bandwidth) drv->reset_bandwidth = over->reset_bandwidth; @@ -35,7 +35,7 @@ Signed-off-by: Peter Chen EXPORT_SYMBOL_GPL(xhci_init_driver); --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h -@@ -1920,6 +1920,7 @@ struct xhci_driver_overrides { +@@ -1923,6 +1923,7 @@ struct xhci_driver_overrides { int (*start)(struct usb_hcd *hcd); int (*check_bandwidth)(struct usb_hcd *, struct usb_device *); void (*reset_bandwidth)(struct usb_hcd *, struct usb_device *); diff --git a/target/linux/layerscape/patches-5.4/820-usb-0021-MLK-22099-usb-host-xhci-do-warm-reset-for-link-state.patch b/target/linux/layerscape/patches-5.4/820-usb-0021-MLK-22099-usb-host-xhci-do-warm-reset-for-link-state.patch index eb5dcb5595555f..41bab3ac2a41c5 100644 --- a/target/linux/layerscape/patches-5.4/820-usb-0021-MLK-22099-usb-host-xhci-do-warm-reset-for-link-state.patch +++ b/target/linux/layerscape/patches-5.4/820-usb-0021-MLK-22099-usb-host-xhci-do-warm-reset-for-link-state.patch @@ -16,7 +16,7 @@ Signed-off-by: Li Jun --- a/drivers/usb/host/xhci-hub.c +++ b/drivers/usb/host/xhci-hub.c -@@ -1740,7 +1740,8 @@ static bool xhci_port_missing_cas_quirk( +@@ -1754,7 +1754,8 @@ static bool xhci_port_missing_cas_quirk( return false; if (((portsc & PORT_PLS_MASK) != XDEV_POLLING) && diff --git a/target/linux/layerscape/patches-5.4/820-usb-0024-LF-387-1-Revert-usb-dwc3-Add-cache-type-configuratio.patch b/target/linux/layerscape/patches-5.4/820-usb-0024-LF-387-1-Revert-usb-dwc3-Add-cache-type-configuratio.patch index 9a3d3f4a178e1c..8510d2af23f0c1 100644 --- a/target/linux/layerscape/patches-5.4/820-usb-0024-LF-387-1-Revert-usb-dwc3-Add-cache-type-configuratio.patch +++ b/target/linux/layerscape/patches-5.4/820-usb-0024-LF-387-1-Revert-usb-dwc3-Add-cache-type-configuratio.patch @@ -15,7 +15,7 @@ Signed-off-by: Ran Wang --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c -@@ -919,54 +919,6 @@ static void dwc3_set_power_down_clk_scal +@@ -920,54 +920,6 @@ static void dwc3_set_power_down_clk_scal dwc3_writel(dwc->regs, DWC3_GCTL, reg); } @@ -70,7 +70,7 @@ Signed-off-by: Ran Wang /** * dwc3_core_init - Low-level initialization of DWC3 Core * @dwc: Pointer to our controller context structure -@@ -1027,10 +979,6 @@ static int dwc3_core_init(struct dwc3 *d +@@ -1028,10 +980,6 @@ static int dwc3_core_init(struct dwc3 *d dwc3_set_incr_burst_type(dwc); @@ -81,7 +81,7 @@ Signed-off-by: Ran Wang usb_phy_set_suspend(dwc->usb2_phy, 0); usb_phy_set_suspend(dwc->usb3_phy, 0); ret = phy_power_on(dwc->usb2_generic_phy); -@@ -1984,9 +1932,12 @@ static const struct dev_pm_ops dwc3_dev_ +@@ -1985,9 +1933,12 @@ static const struct dev_pm_ops dwc3_dev_ #ifdef CONFIG_OF static const struct of_device_id of_dwc3_match[] = { diff --git a/target/linux/layerscape/patches-5.4/820-usb-0025-LF-387-4-usb-dwc3-Add-cache-type-configuration-suppo.patch b/target/linux/layerscape/patches-5.4/820-usb-0025-LF-387-4-usb-dwc3-Add-cache-type-configuration-suppo.patch index f9de7035aad6c8..65a0ded8427226 100644 --- a/target/linux/layerscape/patches-5.4/820-usb-0025-LF-387-4-usb-dwc3-Add-cache-type-configuration-suppo.patch +++ b/target/linux/layerscape/patches-5.4/820-usb-0025-LF-387-4-usb-dwc3-Add-cache-type-configuration-suppo.patch @@ -43,7 +43,7 @@ Reviewed-by: Jun Li --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c -@@ -919,6 +919,53 @@ static void dwc3_set_power_down_clk_scal +@@ -920,6 +920,53 @@ static void dwc3_set_power_down_clk_scal dwc3_writel(dwc->regs, DWC3_GCTL, reg); } @@ -97,7 +97,7 @@ Reviewed-by: Jun Li /** * dwc3_core_init - Low-level initialization of DWC3 Core * @dwc: Pointer to our controller context structure -@@ -979,6 +1026,10 @@ static int dwc3_core_init(struct dwc3 *d +@@ -980,6 +1027,10 @@ static int dwc3_core_init(struct dwc3 *d dwc3_set_incr_burst_type(dwc); @@ -108,7 +108,7 @@ Reviewed-by: Jun Li usb_phy_set_suspend(dwc->usb2_phy, 0); usb_phy_set_suspend(dwc->usb3_phy, 0); ret = phy_power_on(dwc->usb2_generic_phy); -@@ -1932,12 +1983,16 @@ static const struct dev_pm_ops dwc3_dev_ +@@ -1933,12 +1984,16 @@ static const struct dev_pm_ops dwc3_dev_ #ifdef CONFIG_OF static const struct of_device_id of_dwc3_match[] = { diff --git a/target/linux/layerscape/patches-5.4/901-fix_irq_type_of_pca953x.patch b/target/linux/layerscape/patches-5.4/901-fix_irq_type_of_pca953x.patch index 5f022ac27ffd74..0293254e8e271c 100644 --- a/target/linux/layerscape/patches-5.4/901-fix_irq_type_of_pca953x.patch +++ b/target/linux/layerscape/patches-5.4/901-fix_irq_type_of_pca953x.patch @@ -11,7 +11,7 @@ Signed-off-by: Pawel Dembicki --- a/drivers/gpio/gpio-pca953x.c +++ b/drivers/gpio/gpio-pca953x.c -@@ -881,10 +881,12 @@ static int pca953x_irq_setup(struct pca9 +@@ -884,10 +884,12 @@ static int pca953x_irq_setup(struct pca9 for (i = 0; i < NBANK(chip); i++) chip->irq_stat[i] &= reg_direction[i]; mutex_init(&chip->irq_lock); diff --git a/target/linux/octeon/patches-5.4/130-itus_shield_support.patch b/target/linux/octeon/patches-5.4/130-itus_shield_support.patch index 15f514209dcd12..a041331c20dd62 100644 --- a/target/linux/octeon/patches-5.4/130-itus_shield_support.patch +++ b/target/linux/octeon/patches-5.4/130-itus_shield_support.patch @@ -20,7 +20,7 @@ } --- a/arch/mips/cavium-octeon/octeon-platform.c +++ b/arch/mips/cavium-octeon/octeon-platform.c -@@ -773,7 +773,7 @@ int __init octeon_prune_device_tree(void +@@ -774,7 +774,7 @@ int __init octeon_prune_device_tree(void if (fdt_check_header(initial_boot_params)) panic("Corrupt Device Tree."); diff --git a/target/linux/octeon/patches-5.4/700-allocate_interface_by_label.patch b/target/linux/octeon/patches-5.4/700-allocate_interface_by_label.patch index 3a9b2eb7cd0329..e4dc3f96e52823 100644 --- a/target/linux/octeon/patches-5.4/700-allocate_interface_by_label.patch +++ b/target/linux/octeon/patches-5.4/700-allocate_interface_by_label.patch @@ -12,21 +12,20 @@ Tested-by: Johannes Kimmel Signed-off-by: Roman Kuzmitskii --- a/drivers/staging/octeon/ethernet.c +++ b/drivers/staging/octeon/ethernet.c -@@ -408,9 +408,12 @@ int cvm_oct_common_init(struct net_devic +@@ -407,8 +407,12 @@ static int cvm_oct_common_set_mac_addres + int cvm_oct_common_init(struct net_device *dev) { struct octeon_ethernet *priv = netdev_priv(dev); - const u8 *mac = NULL; + const u8 *label = NULL; + int ret; -- if (priv->of_node) -+ if (priv->of_node) { - mac = of_get_mac_address(priv->of_node); ++ if (priv->of_node) + label = of_get_property(priv->of_node, "label", NULL); -+ } - - if (!IS_ERR_OR_NULL(mac)) - ether_addr_copy(dev->dev_addr, mac); -@@ -445,6 +448,9 @@ int cvm_oct_common_init(struct net_devic ++ + ret = of_get_mac_address(priv->of_node, dev->dev_addr); + if (ret) + eth_hw_addr_random(dev); +@@ -441,6 +445,9 @@ int cvm_oct_common_init(struct net_devic if (dev->netdev_ops->ndo_stop) dev->netdev_ops->ndo_stop(dev); 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 fc0270619bde8f..9639a45c934437 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 @@ -22,10 +22,10 @@ Signed-off-by: Tim Harvey #include #include #include -@@ -5793,3 +5794,34 @@ static void nvidia_ion_ahci_fixup(struct +@@ -5796,3 +5797,34 @@ static void nvidia_ion_ahci_fixup(struct pdev->dev_flags |= PCI_DEV_FLAGS_HAS_MSI_MASKING; } - DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0ab8, nvidia_ion_ahci_fixup) + DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0ab8, nvidia_ion_ahci_fixup); + +#ifdef CONFIG_PCI_HOST_THUNDER_PEM +/* diff --git a/target/linux/oxnas/patches-5.4/996-generic-Mangle-bootloader-s-kernel-arguments.patch b/target/linux/oxnas/patches-5.4/996-generic-Mangle-bootloader-s-kernel-arguments.patch index 522b4fd774f7f6..1cbeed39b0cc5b 100644 --- a/target/linux/oxnas/patches-5.4/996-generic-Mangle-bootloader-s-kernel-arguments.patch +++ b/target/linux/oxnas/patches-5.4/996-generic-Mangle-bootloader-s-kernel-arguments.patch @@ -22,7 +22,7 @@ Signed-off-by: Adrian Panella --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -1777,6 +1777,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN +@@ -1823,6 +1823,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN The command-line arguments provided by the boot loader will be appended to the the device tree bootargs property. diff --git a/target/linux/oxnas/patches-5.4/999-libata-hacks.patch b/target/linux/oxnas/patches-5.4/999-libata-hacks.patch index d91f2d6724400c..931061701f855b 100644 --- a/target/linux/oxnas/patches-5.4/999-libata-hacks.patch +++ b/target/linux/oxnas/patches-5.4/999-libata-hacks.patch @@ -15,7 +15,7 @@ /* initialize internal qc */ qc = __ata_qc_from_tag(ap, ATA_TAG_INTERNAL); -@@ -5128,6 +5136,9 @@ struct ata_queued_cmd *ata_qc_new_init(s +@@ -5162,6 +5170,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); -@@ -5173,6 +5184,8 @@ void ata_qc_free(struct ata_queued_cmd * +@@ -5207,6 +5218,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); @@ -36,7 +36,7 @@ --- a/include/linux/libata.h +++ b/include/linux/libata.h -@@ -910,6 +910,8 @@ struct ata_port_operations { +@@ -911,6 +911,8 @@ struct ata_port_operations { enum ata_completion_errors (*qc_prep)(struct ata_queued_cmd *qc); unsigned int (*qc_issue)(struct ata_queued_cmd *qc); bool (*qc_fill_rtf)(struct ata_queued_cmd *qc); @@ -45,7 +45,7 @@ /* * Configuration and exception handling -@@ -1000,6 +1002,9 @@ struct ata_port_operations { +@@ -1001,6 +1003,9 @@ struct ata_port_operations { void (*phy_reset)(struct ata_port *ap); void (*eng_timeout)(struct ata_port *ap); diff --git a/target/linux/ramips/patches-5.4/0024-GPIO-add-named-gpio-exports.patch b/target/linux/ramips/patches-5.4/0024-GPIO-add-named-gpio-exports.patch index 805836fcca3655..a7f1a48bd94734 100644 --- a/target/linux/ramips/patches-5.4/0024-GPIO-add-named-gpio-exports.patch +++ b/target/linux/ramips/patches-5.4/0024-GPIO-add-named-gpio-exports.patch @@ -22,7 +22,7 @@ Signed-off-by: John Crispin #include "gpiolib.h" #include "gpiolib-of.h" -@@ -915,3 +917,68 @@ void of_gpiochip_remove(struct gpio_chip +@@ -917,3 +919,68 @@ void of_gpiochip_remove(struct gpio_chip { of_node_put(chip->of_node); } diff --git a/target/linux/ramips/patches-5.4/0300-mtd-rawnand-add-driver-support-for-MT7621-nand-flash.patch b/target/linux/ramips/patches-5.4/0300-mtd-rawnand-add-driver-support-for-MT7621-nand-flash.patch index bd778f06d9b909..19584be355b86c 100644 --- a/target/linux/ramips/patches-5.4/0300-mtd-rawnand-add-driver-support-for-MT7621-nand-flash.patch +++ b/target/linux/ramips/patches-5.4/0300-mtd-rawnand-add-driver-support-for-MT7621-nand-flash.patch @@ -63,7 +63,7 @@ Signed-off-by: Weijie Gao void __iomem *nfi_regs; void __iomem *ecc_regs; -@@ -686,8 +684,8 @@ static int mt7621_nfc_exec_op(struct nand_chip *nand, +@@ -686,8 +684,8 @@ static int mt7621_nfc_exec_op(struct nan return 0; } @@ -74,7 +74,7 @@ Signed-off-by: Weijie Gao { struct mt7621_nfc *nfc = nand_get_controller_data(nand); const struct nand_sdr_timings *timings; -@@ -761,7 +759,7 @@ static int mt7621_nfc_setup_interface(struct nand_chip *nand, int csline, +@@ -761,7 +759,7 @@ static int mt7621_nfc_setup_interface(st acccon = ACCTIMING(tpoecs, tprecs, tc2r, tw2r, twh, twst, trlt); @@ -83,7 +83,7 @@ Signed-off-by: Weijie Gao nfi_write32(nfc, NFI_ACCCON, acccon); -@@ -835,7 +833,7 @@ static int mt7621_nfc_ecc_init(struct mt7621_nfc *nfc) +@@ -835,7 +833,7 @@ static int mt7621_nfc_ecc_init(struct mt int ecc_cap; /* Only hardware ECC mode is supported */ @@ -92,7 +92,7 @@ Signed-off-by: Weijie Gao dev_err(nfc->dev, "Only hardware ECC mode is supported\n"); return -EINVAL; } -@@ -862,8 +860,6 @@ static int mt7621_nfc_ecc_init(struct mt7621_nfc *nfc) +@@ -862,8 +860,6 @@ static int mt7621_nfc_ecc_init(struct mt (decode_block_size << DEC_CS_S) | (DEC_CON_EL << DEC_CON_S) | DEC_EMPTY_EN; @@ -101,7 +101,7 @@ Signed-off-by: Weijie Gao mt7621_ecc_encoder_op(nfc, false); ecc_write32(nfc, ECC_ENCCNFG, ecc_enccfg); -@@ -924,7 +920,7 @@ static int mt7621_nfc_attach_chip(struct nand_chip *nand) +@@ -924,7 +920,7 @@ static int mt7621_nfc_attach_chip(struct static const struct nand_controller_ops mt7621_nfc_controller_ops = { .attach_chip = mt7621_nfc_attach_chip, .exec_op = mt7621_nfc_exec_op, @@ -110,7 +110,7 @@ Signed-off-by: Weijie Gao }; static int mt7621_nfc_ooblayout_free(struct mtd_info *mtd, int section, -@@ -976,7 +972,7 @@ static void mt7621_nfc_write_fdm(struct mt7621_nfc *nfc) +@@ -976,7 +972,7 @@ static void mt7621_nfc_write_fdm(struct vall |= (u32)oobptr[j] << (j * 8); for (j = 0; j < 4; j++) @@ -119,7 +119,7 @@ Signed-off-by: Weijie Gao nfi_write32(nfc, NFI_FDML(i), vall); nfi_write32(nfc, NFI_FDMM(i), valm); -@@ -1040,7 +1036,7 @@ static int mt7621_nfc_read_page_hwecc(struct nand_chip *nand, uint8_t *buf, +@@ -1040,7 +1036,7 @@ static int mt7621_nfc_read_page_hwecc(st oob_fdm_ptr(nand, i), i); if (rc < 0) { @@ -128,7 +128,7 @@ Signed-off-by: Weijie Gao "Uncorrectable ECC error at page %d.%d\n", page, i); bitflips = -EBADMSG; -@@ -1229,11 +1225,11 @@ static int mt7621_nfc_init_chip(struct mt7621_nfc *nfc) +@@ -1229,11 +1225,11 @@ static int mt7621_nfc_init_chip(struct m nand_set_controller_data(nand, (void *)nfc); nand_set_flash_node(nand, nfc->dev->of_node); @@ -142,7 +142,7 @@ Signed-off-by: Weijie Gao nand->ecc.read_page = mt7621_nfc_read_page_hwecc; nand->ecc.read_page_raw = mt7621_nfc_read_page_raw; nand->ecc.write_page = mt7621_nfc_write_page_hwecc; -@@ -1255,13 +1251,10 @@ static int mt7621_nfc_init_chip(struct mt7621_nfc *nfc) +@@ -1255,13 +1251,10 @@ static int mt7621_nfc_init_chip(struct m if (ret) return ret; @@ -157,7 +157,7 @@ Signed-off-by: Weijie Gao return ret; } -@@ -1284,7 +1277,6 @@ static int mt7621_nfc_probe(struct platform_device *pdev) +@@ -1284,7 +1277,6 @@ static int mt7621_nfc_probe(struct platf nfc->dev = dev; res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "nfi"); diff --git a/target/linux/ramips/patches-5.4/304-spi-nor-add-p25d40h.patch b/target/linux/ramips/patches-5.4/304-spi-nor-add-p25d40h.patch index b5107814862649..a7c4863f629a5a 100644 --- a/target/linux/ramips/patches-5.4/304-spi-nor-add-p25d40h.patch +++ b/target/linux/ramips/patches-5.4/304-spi-nor-add-p25d40h.patch @@ -1,9 +1,9 @@ --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c -@@ -2410,6 +2410,9 @@ static const struct flash_info spi_nor_ids[] = { +@@ -2410,6 +2410,9 @@ static const struct flash_info spi_nor_i { "pm25lv010", INFO(0, 0, 32 * 1024, 4, SECT_4K_PMC) }, { "pm25lq032", INFO(0x7f9d46, 0, 64 * 1024, 64, SECT_4K) }, - + + /* PUYA */ + { "p25d40h", INFO(0x856013, 0, 64 * 1024, 8, SECT_4K) }, + diff --git a/target/linux/ramips/patches-5.4/401-net-ethernet-mediatek-support-net-labels.patch b/target/linux/ramips/patches-5.4/401-net-ethernet-mediatek-support-net-labels.patch index 9073777df4c5ac..3c41703ee37924 100644 --- a/target/linux/ramips/patches-5.4/401-net-ethernet-mediatek-support-net-labels.patch +++ b/target/linux/ramips/patches-5.4/401-net-ethernet-mediatek-support-net-labels.patch @@ -14,7 +14,7 @@ Signed-off-by: René van Dorst --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -@@ -2963,6 +2963,7 @@ static const struct net_device_ops mtk_n +@@ -2961,6 +2961,7 @@ static const struct net_device_ops mtk_n static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np) { @@ -22,7 +22,7 @@ Signed-off-by: René van Dorst const __be32 *_id = of_get_property(np, "reg", NULL); struct phylink *phylink; int phy_mode, id, err; -@@ -3055,6 +3056,9 @@ static int mtk_add_mac(struct mtk_eth *e +@@ -3053,6 +3054,9 @@ static int mtk_add_mac(struct mtk_eth *e eth->netdev[id]->max_mtu = MTK_MAX_RX_LENGTH - MTK_RX_ETH_HLEN; diff --git a/target/linux/ramips/patches-5.4/804-staging-mt7621-pinctrl-use-ngpios-not-num-gpios.patch b/target/linux/ramips/patches-5.4/804-staging-mt7621-pinctrl-use-ngpios-not-num-gpios.patch index 0d62bd8b0356fd..a15bf62b0b924f 100644 --- a/target/linux/ramips/patches-5.4/804-staging-mt7621-pinctrl-use-ngpios-not-num-gpios.patch +++ b/target/linux/ramips/patches-5.4/804-staging-mt7621-pinctrl-use-ngpios-not-num-gpios.patch @@ -1,6 +1,6 @@ --- a/drivers/staging/mt7621-pinctrl/pinctrl-rt2880.c +++ b/drivers/staging/mt7621-pinctrl/pinctrl-rt2880.c -@@ -354,7 +354,7 @@ static int rt2880_pinmux_probe(struct pl +@@ -356,7 +356,7 @@ static int rt2880_pinmux_probe(struct pl if (!of_device_is_available(np)) continue; diff --git a/target/linux/ramips/patches-5.4/901-mtkhnat-ipv6-fix-pskb-expand-head-limitation.patch b/target/linux/ramips/patches-5.4/901-mtkhnat-ipv6-fix-pskb-expand-head-limitation.patch index 72719c8285d39e..00cfd095afc7dd 100644 --- a/target/linux/ramips/patches-5.4/901-mtkhnat-ipv6-fix-pskb-expand-head-limitation.patch +++ b/target/linux/ramips/patches-5.4/901-mtkhnat-ipv6-fix-pskb-expand-head-limitation.patch @@ -1,5 +1,3 @@ -diff --git a/net/core/skbuff.c b/net/core/skbuff.c -index 5ba1c72f..f4239459 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -69,6 +69,7 @@ @@ -10,7 +8,7 @@ index 5ba1c72f..f4239459 100644 #include #include -@@ -1666,6 +1667,9 @@ int pskb_expand_head(struct sk_buff *skb, int nhead, int ntail, +@@ -1666,6 +1667,9 @@ int pskb_expand_head(struct sk_buff *skb skb_shinfo(skb), offsetof(struct skb_shared_info, frags[skb_shinfo(skb)->nr_frags])); diff --git a/target/linux/ramips/patches-5.4/902-mtkhnat-add-support-for-virtual-interface-acceleration.patch b/target/linux/ramips/patches-5.4/902-mtkhnat-add-support-for-virtual-interface-acceleration.patch index 150087a56aac4c..78ff21ae62d0e9 100644 --- a/target/linux/ramips/patches-5.4/902-mtkhnat-add-support-for-virtual-interface-acceleration.patch +++ b/target/linux/ramips/patches-5.4/902-mtkhnat-add-support-for-virtual-interface-acceleration.patch @@ -1,8 +1,6 @@ -diff --git a/include/net/netfilter/nf_flow_table.h b/include/net/netfilter/nf_flow_table.h -index 3d73c0c..960ade1 100644 --- a/include/net/netfilter/nf_flow_table.h +++ b/include/net/netfilter/nf_flow_table.h -@@ -92,9 +92,12 @@ struct flow_offload { +@@ -94,9 +94,12 @@ struct flow_offload { #define FLOW_OFFLOAD_PATH_VLAN BIT(1) #define FLOW_OFFLOAD_PATH_PPPOE BIT(2) #define FLOW_OFFLOAD_PATH_DSA BIT(3) @@ -15,11 +13,9 @@ index 3d73c0c..960ade1 100644 u32 flags; u8 eth_src[ETH_ALEN]; -diff --git a/net/8021q/vlan_dev.c b/net/8021q/vlan_dev.c -index be6801524..c51af70f6 100644 --- a/net/8021q/vlan_dev.c +++ b/net/8021q/vlan_dev.c -@@ -761,6 +761,7 @@ static int vlan_dev_flow_offload_check(struct flow_offload_hw_path *path) +@@ -764,6 +764,7 @@ static int vlan_dev_flow_offload_check(s path->flags |= FLOW_OFFLOAD_PATH_VLAN; path->vlan_proto = vlan->vlan_proto; path->vlan_id = vlan->vlan_id; @@ -27,8 +23,6 @@ index be6801524..c51af70f6 100644 path->dev = vlan->real_dev; if (vlan->real_dev->netdev_ops->ndo_flow_offload_check) -diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c -index 1b7e3141c..da4e34f74 100644 --- a/net/ipv6/ip6_tunnel.c +++ b/net/ipv6/ip6_tunnel.c @@ -57,6 +57,11 @@ @@ -43,7 +37,7 @@ index 1b7e3141c..da4e34f74 100644 MODULE_AUTHOR("Ville Nuorvala"); MODULE_DESCRIPTION("IPv6 tunneling device"); MODULE_LICENSE("GPL"); -@@ -1880,6 +1885,22 @@ int ip6_tnl_get_iflink(const struct net_device *dev) +@@ -1887,6 +1892,22 @@ int ip6_tnl_get_iflink(const struct net_ } EXPORT_SYMBOL(ip6_tnl_get_iflink); @@ -66,7 +60,7 @@ index 1b7e3141c..da4e34f74 100644 int ip6_tnl_encap_add_ops(const struct ip6_tnl_encap_ops *ops, unsigned int num) { -@@ -1941,6 +1962,9 @@ static const struct net_device_ops ip6_tnl_netdev_ops = { +@@ -1948,6 +1969,9 @@ static const struct net_device_ops ip6_t .ndo_change_mtu = ip6_tnl_change_mtu, .ndo_get_stats = ip6_get_stats, .ndo_get_iflink = ip6_tnl_get_iflink, @@ -76,8 +70,6 @@ index 1b7e3141c..da4e34f74 100644 }; #define IPXIPX_FEATURES (NETIF_F_SG | \ -diff --git a/net/ipv6/sit.c b/net/ipv6/sit.c -index 98954830c..42b6e8c4c 100644 --- a/net/ipv6/sit.c +++ b/net/ipv6/sit.c @@ -52,6 +52,11 @@ @@ -92,7 +84,7 @@ index 98954830c..42b6e8c4c 100644 /* This version of net/ipv6/sit.c is cloned of net/ipv4/ip_gre.c -@@ -1345,6 +1350,22 @@ ipip6_tunnel_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) +@@ -1340,6 +1345,22 @@ done: return err; } @@ -115,7 +107,7 @@ index 98954830c..42b6e8c4c 100644 static const struct net_device_ops ipip6_netdev_ops = { .ndo_init = ipip6_tunnel_init, .ndo_uninit = ipip6_tunnel_uninit, -@@ -1352,6 +1373,9 @@ static const struct net_device_ops ipip6_netdev_ops = { +@@ -1347,6 +1368,9 @@ static const struct net_device_ops ipip6 .ndo_do_ioctl = ipip6_tunnel_ioctl, .ndo_get_stats64 = ip_tunnel_get_stats64, .ndo_get_iflink = ip_tunnel_get_iflink, diff --git a/target/linux/ramips/patches-5.4/903-net-ethernet-mtk_eth_soc-add-mtk-dsa-tag-rx-offload.patch b/target/linux/ramips/patches-5.4/903-net-ethernet-mtk_eth_soc-add-mtk-dsa-tag-rx-offload.patch index a9774b189bc28b..1d980c46caa56c 100644 --- a/target/linux/ramips/patches-5.4/903-net-ethernet-mtk_eth_soc-add-mtk-dsa-tag-rx-offload.patch +++ b/target/linux/ramips/patches-5.4/903-net-ethernet-mtk_eth_soc-add-mtk-dsa-tag-rx-offload.patch @@ -1,7 +1,7 @@ --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -@@ -1354,9 +1354,21 @@ static int mtk_poll_rx(struct napi_struc - skb_set_hash(skb, hash, PKT_HASH_TYPE_L4); +@@ -1362,9 +1362,21 @@ static int mtk_poll_rx(struct napi_struc + } if (netdev->features & NETIF_F_HW_VLAN_CTAG_RX && - (trxd.rxd2 & RX_DMA_VTAG)) @@ -25,7 +25,7 @@ if (mtk_offload_check_rx(eth, skb, trxd.rxd4) == 0) { skb_record_rx_queue(skb, 0); napi_gro_receive(napi, skb); -@@ -2050,19 +2062,32 @@ static netdev_features_t mtk_fix_feature +@@ -2064,19 +2076,32 @@ static netdev_features_t mtk_fix_feature } } @@ -59,7 +59,7 @@ return err; } -@@ -2326,6 +2351,15 @@ static int mtk_open(struct net_device *d +@@ -2340,6 +2365,15 @@ static int mtk_open(struct net_device *d mtk_gdm_config(eth, gdm_config); @@ -75,7 +75,7 @@ napi_enable(ð->tx_napi); napi_enable(ð->rx_napi); mtk_tx_irq_enable(eth, MTK_TX_DONE_INT); -@@ -2500,7 +2534,7 @@ static void mtk_dim_tx(struct work_struc +@@ -2514,7 +2548,7 @@ static void mtk_dim_tx(struct work_struc static int mtk_hw_init(struct mtk_eth *eth) { @@ -84,7 +84,7 @@ if (test_and_set_bit(MTK_HW_INIT, ð->state)) return 0; -@@ -2555,12 +2589,6 @@ static int mtk_hw_init(struct mtk_eth *e +@@ -2562,12 +2596,6 @@ static int mtk_hw_init(struct mtk_eth *e for (i = 0; i < MTK_MAC_COUNT; i++) mtk_w32(eth, MAC_MCR_FORCE_LINK_DOWN, MTK_MAC_MCR(i)); @@ -119,7 +119,7 @@ /* CDMP Exgress Control Register */ #define MTK_CDMP_EG_CTRL 0x404 -@@ -307,7 +313,9 @@ +@@ -323,7 +329,9 @@ #define RX_DMA_VTAG BIT(15) /* QDMA descriptor rxd3 */ @@ -132,7 +132,7 @@ #define MTK_RXD4_FOE_ENTRY GENMASK(13, 0) --- a/net/dsa/tag_mtk.c +++ b/net/dsa/tag_mtk.c -@@ -73,22 +73,28 @@ static struct sk_buff *mtk_tag_rcv(struc +@@ -80,22 +80,28 @@ static struct sk_buff *mtk_tag_rcv(struc bool is_multicast_skb = is_multicast_ether_addr(dest) && !is_broadcast_ether_addr(dest); diff --git a/target/linux/ramips/patches-5.4/980-add-mtk-vendor-ethernet-drivers.patch b/target/linux/ramips/patches-5.4/980-add-mtk-vendor-ethernet-drivers.patch index 972f7075672d37..c183441c59cc43 100644 --- a/target/linux/ramips/patches-5.4/980-add-mtk-vendor-ethernet-drivers.patch +++ b/target/linux/ramips/patches-5.4/980-add-mtk-vendor-ethernet-drivers.patch @@ -1,6 +1,6 @@ --- a/drivers/net/ethernet/Kconfig +++ b/drivers/net/ethernet/Kconfig -@@ -125,6 +125,7 @@ +@@ -125,6 +125,7 @@ source "drivers/net/ethernet/micrel/Kcon source "drivers/net/ethernet/microchip/Kconfig" source "drivers/net/ethernet/moxa/Kconfig" source "drivers/net/ethernet/mscc/Kconfig" @@ -10,7 +10,7 @@ config FEALNX --- a/drivers/net/ethernet/Makefile +++ b/drivers/net/ethernet/Makefile -@@ -73,6 +73,7 @@ +@@ -73,6 +73,7 @@ obj-$(CONFIG_NET_VENDOR_PASEMI) += pasem obj-$(CONFIG_NET_VENDOR_QLOGIC) += qlogic/ obj-$(CONFIG_NET_VENDOR_QUALCOMM) += qualcomm/ obj-$(CONFIG_NET_VENDOR_RALINK) += ralink/ @@ -20,7 +20,7 @@ obj-$(CONFIG_NET_VENDOR_RDC) += rdc/ --- a/drivers/net/phy/Kconfig +++ b/drivers/net/phy/Kconfig -@@ -577,6 +577,8 @@ +@@ -577,6 +577,8 @@ config XILINX_GMII2RGMII the Reduced Gigabit Media Independent Interface(RGMII) between Ethernet physical media devices and the Gigabit Ethernet controller. @@ -31,7 +31,7 @@ config MICREL_KS8995MA --- a/drivers/net/phy/Makefile +++ b/drivers/net/phy/Makefile -@@ -99,6 +99,7 @@ +@@ -99,6 +99,7 @@ obj-$(CONFIG_MICROCHIP_PHY) += microchip obj-$(CONFIG_MICROCHIP_T1_PHY) += microchip_t1.o obj-$(CONFIG_MICROSEMI_PHY) += mscc.o obj-$(CONFIG_NATIONAL_PHY) += national.o diff --git a/target/linux/ramips/patches-5.4/992-rtl8211x.patch b/target/linux/ramips/patches-5.4/992-rtl8211x.patch index a7946f1ff5334c..d40e62c0921ee8 100644 --- a/target/linux/ramips/patches-5.4/992-rtl8211x.patch +++ b/target/linux/ramips/patches-5.4/992-rtl8211x.patch @@ -32,7 +32,7 @@ MODULE_DESCRIPTION("Realtek PHY driver"); MODULE_AUTHOR("Johnson Leung"); MODULE_LICENSE("GPL"); -@@ -443,6 +454,88 @@ static int rtl8125_match_phy_device(struct phy_device *phydev) +@@ -443,6 +454,88 @@ static int rtl8125_match_phy_device(stru rtlgen_supports_2_5gbps(phydev); } @@ -121,7 +121,7 @@ static struct phy_driver realtek_drvs[] = { { PHY_ID_MATCH_EXACT(0x00008201), -@@ -495,8 +588,12 @@ static struct phy_driver realtek_drvs[] = { +@@ -495,8 +588,12 @@ static struct phy_driver realtek_drvs[] }, { PHY_ID_MATCH_EXACT(0x001cc914), .name = "RTL8211DN Gigabit Ethernet", @@ -134,7 +134,7 @@ .suspend = genphy_suspend, .resume = genphy_resume, .read_page = rtl821x_read_page, -@@ -514,9 +611,13 @@ static struct phy_driver realtek_drvs[] = { +@@ -514,9 +611,13 @@ static struct phy_driver realtek_drvs[] }, { PHY_ID_MATCH_EXACT(0x001cc916), .name = "RTL8211F Gigabit Ethernet", diff --git a/target/linux/rockchip/patches-5.4/010-arm64-dts-rockchip-add-EEPROM-node-for-NanoPi-R4S.patch b/target/linux/rockchip/patches-5.4/010-arm64-dts-rockchip-add-EEPROM-node-for-NanoPi-R4S.patch index 3ead34ca92ba36..c2caa814bf86db 100644 --- a/target/linux/rockchip/patches-5.4/010-arm64-dts-rockchip-add-EEPROM-node-for-NanoPi-R4S.patch +++ b/target/linux/rockchip/patches-5.4/010-arm64-dts-rockchip-add-EEPROM-node-for-NanoPi-R4S.patch @@ -13,7 +13,7 @@ Signed-off-by: Tianling Shen --- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts +++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts -@@ -75,6 +75,19 @@ &emmc_phy { +@@ -68,6 +68,19 @@ status = "disabled"; }; diff --git a/target/linux/rockchip/patches-5.4/106-arm64-rockchip-add-OF-node-for-pcie-eth-on-NanoPi-R4S.patch b/target/linux/rockchip/patches-5.4/106-arm64-rockchip-add-OF-node-for-pcie-eth-on-NanoPi-R4S.patch index d76563efcfc009..674657593da5b0 100644 --- a/target/linux/rockchip/patches-5.4/106-arm64-rockchip-add-OF-node-for-pcie-eth-on-NanoPi-R4S.patch +++ b/target/linux/rockchip/patches-5.4/106-arm64-rockchip-add-OF-node-for-pcie-eth-on-NanoPi-R4S.patch @@ -1,6 +1,6 @@ --- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts +++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts -@@ -101,6 +101,19 @@ +@@ -96,6 +96,19 @@ max-link-speed = <1>; num-lanes = <1>; vpcie3v3-supply = <&vcc3v3_sys>; diff --git a/target/linux/rockchip/patches-5.4/107-nanopi-r4s-sd-signalling.patch b/target/linux/rockchip/patches-5.4/107-nanopi-r4s-sd-signalling.patch index a04c14b70a72fd..f4f77835c55c12 100644 --- a/target/linux/rockchip/patches-5.4/107-nanopi-r4s-sd-signalling.patch +++ b/target/linux/rockchip/patches-5.4/107-nanopi-r4s-sd-signalling.patch @@ -12,7 +12,7 @@ Signed-off-by: David Bauer --- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts +++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts -@@ -121,6 +121,11 @@ +@@ -145,6 +145,11 @@ status = "disabled"; }; diff --git a/target/linux/rockchip/patches-5.4/203-rockchip-rk3328-Add-support-for-OrangePi-R1-Plus-LTS.patch b/target/linux/rockchip/patches-5.4/203-rockchip-rk3328-Add-support-for-OrangePi-R1-Plus-LTS.patch index 28c337554dc662..56c40c3ccdbb42 100644 --- a/target/linux/rockchip/patches-5.4/203-rockchip-rk3328-Add-support-for-OrangePi-R1-Plus-LTS.patch +++ b/target/linux/rockchip/patches-5.4/203-rockchip-rk3328-Add-support-for-OrangePi-R1-Plus-LTS.patch @@ -1,7 +1,7 @@ --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile -@@ -9,6 +9,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-ev - dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2c.dtb +@@ -3,6 +3,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-evb. + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-evb.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2s.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-orangepi-r1-plus.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-orangepi-r1-plus-lts.dtb diff --git a/target/linux/rockchip/patches-5.4/204-rockchip-rk3328-Add-support-for-FriendlyARM-NanoPi-R.patch b/target/linux/rockchip/patches-5.4/204-rockchip-rk3328-Add-support-for-FriendlyARM-NanoPi-R.patch index 9b2268e16d98bb..96b43087a3e398 100644 --- a/target/linux/rockchip/patches-5.4/204-rockchip-rk3328-Add-support-for-FriendlyARM-NanoPi-R.patch +++ b/target/linux/rockchip/patches-5.4/204-rockchip-rk3328-Add-support-for-FriendlyARM-NanoPi-R.patch @@ -7,7 +7,7 @@ +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2c.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2s.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-orangepi-r1-plus.dtb - dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-rock64.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-orangepi-r1-plus-lts.dtb --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2c.dts @@ -0,0 +1,51 @@ diff --git a/target/linux/rockchip/patches-5.4/205-rockchip-rk3328-add-support-for-FriendlyARM-NanoPi-Neo3.patch b/target/linux/rockchip/patches-5.4/205-rockchip-rk3328-add-support-for-FriendlyARM-NanoPi-Neo3.patch index 6271cb94c4c6fd..06a8f8ed9eac72 100644 --- a/target/linux/rockchip/patches-5.4/205-rockchip-rk3328-add-support-for-FriendlyARM-NanoPi-Neo3.patch +++ b/target/linux/rockchip/patches-5.4/205-rockchip-rk3328-add-support-for-FriendlyARM-NanoPi-Neo3.patch @@ -35,7 +35,7 @@ to status_led in accordance with the board schematics. --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile -@@ -4,6 +4,7 @@ +@@ -3,6 +3,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-evb. dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-evb.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2c.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2s.dtb diff --git a/target/linux/rockchip/patches-5.4/804-clk-rockchip-support-setting-ddr-clock-via-SIP-Version-2-.patch b/target/linux/rockchip/patches-5.4/804-clk-rockchip-support-setting-ddr-clock-via-SIP-Version-2-.patch index 4e688f8eb4ef64..430a4fd5e3e3cb 100644 --- a/target/linux/rockchip/patches-5.4/804-clk-rockchip-support-setting-ddr-clock-via-SIP-Version-2-.patch +++ b/target/linux/rockchip/patches-5.4/804-clk-rockchip-support-setting-ddr-clock-via-SIP-Version-2-.patch @@ -15,11 +15,9 @@ Signed-off-by: hmz007 include/soc/rockchip/rockchip_sip.h | 11 +++ 4 files changed, 147 insertions(+), 4 deletions(-) -diff --git a/drivers/clk/rockchip/clk-ddr.c b/drivers/clk/rockchip/clk-ddr.c -index 9273bce4d7b6..555aaf4e758d 100644 --- a/drivers/clk/rockchip/clk-ddr.c +++ b/drivers/clk/rockchip/clk-ddr.c -@@ -87,6 +87,133 @@ static const struct clk_ops rockchip_ddrclk_sip_ops = { +@@ -87,6 +87,133 @@ static const struct clk_ops rockchip_ddr .get_parent = rockchip_ddrclk_get_parent, }; @@ -153,7 +151,7 @@ index 9273bce4d7b6..555aaf4e758d 100644 struct clk *rockchip_clk_register_ddrclk(const char *name, int flags, const char *const *parent_names, u8 num_parents, int mux_offset, -@@ -114,6 +241,9 @@ struct clk *rockchip_clk_register_ddrclk(const char *name, int flags, +@@ -114,6 +241,9 @@ struct clk *rockchip_clk_register_ddrclk case ROCKCHIP_DDRCLK_SIP: init.ops = &rockchip_ddrclk_sip_ops; break; @@ -163,11 +161,9 @@ index 9273bce4d7b6..555aaf4e758d 100644 default: pr_err("%s: unsupported ddrclk type %d\n", __func__, ddr_flag); kfree(ddrclk); -diff --git a/drivers/clk/rockchip/clk-rk3328.c b/drivers/clk/rockchip/clk-rk3328.c -index c186a1985bf4..ac6e6163a232 100644 --- a/drivers/clk/rockchip/clk-rk3328.c +++ b/drivers/clk/rockchip/clk-rk3328.c -@@ -314,9 +314,10 @@ static struct rockchip_clk_branch rk3328_clk_branches[] __initdata = { +@@ -314,9 +314,10 @@ static struct rockchip_clk_branch rk3328 RK3328_CLKGATE_CON(14), 1, GFLAGS), /* PD_DDR */ @@ -181,11 +177,9 @@ index c186a1985bf4..ac6e6163a232 100644 GATE(0, "clk_ddrmsch", "clk_ddr", CLK_IGNORE_UNUSED, RK3328_CLKGATE_CON(18), 6, GFLAGS), GATE(0, "clk_ddrupctl", "clk_ddr", CLK_IGNORE_UNUSED, -diff --git a/drivers/clk/rockchip/clk.h b/drivers/clk/rockchip/clk.h -index 2271a84124b0..7405aaf965ec 100644 --- a/drivers/clk/rockchip/clk.h +++ b/drivers/clk/rockchip/clk.h -@@ -362,7 +362,8 @@ struct clk *rockchip_clk_register_mmc(const char *name, +@@ -362,7 +362,8 @@ struct clk *rockchip_clk_register_mmc(co * DDRCLK flags, including method of setting the rate * ROCKCHIP_DDRCLK_SIP: use SIP call to bl31 to change ddrclk rate. */ @@ -195,8 +189,6 @@ index 2271a84124b0..7405aaf965ec 100644 struct clk *rockchip_clk_register_ddrclk(const char *name, int flags, const char *const *parent_names, -diff --git a/include/soc/rockchip/rockchip_sip.h b/include/soc/rockchip/rockchip_sip.h -index c46a9ae2a2ab..fa7e0a2d72cc 100644 --- a/include/soc/rockchip/rockchip_sip.h +++ b/include/soc/rockchip/rockchip_sip.h @@ -16,5 +16,16 @@ diff --git a/target/linux/x86/patches-5.4/993-bnx2x_warpcore_8727_2_5g_sgmii_txfault.patch b/target/linux/x86/patches-5.4/993-bnx2x_warpcore_8727_2_5g_sgmii_txfault.patch index 267972cd711523..edb9838f7b644a 100644 --- a/target/linux/x86/patches-5.4/993-bnx2x_warpcore_8727_2_5g_sgmii_txfault.patch +++ b/target/linux/x86/patches-5.4/993-bnx2x_warpcore_8727_2_5g_sgmii_txfault.patch @@ -1,6 +1,6 @@ --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x.h +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x.h -@@ -1592,6 +1592,7 @@ +@@ -1592,6 +1592,7 @@ struct bnx2x { uint num_ethernet_queues; uint num_cnic_queues; int disable_tpa; @@ -10,7 +10,7 @@ #define BNX2X_RX_MODE_NONE 0 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c -@@ -151,6 +151,7 @@ +@@ -151,6 +151,7 @@ typedef int (*read_sfp_module_eeprom_fun #define SFP_EEPROM_CON_TYPE_ADDR 0x2 #define SFP_EEPROM_CON_TYPE_VAL_UNKNOWN 0x0 @@ -18,7 +18,7 @@ #define SFP_EEPROM_CON_TYPE_VAL_LC 0x7 #define SFP_EEPROM_CON_TYPE_VAL_COPPER 0x21 #define SFP_EEPROM_CON_TYPE_VAL_RJ45 0x22 -@@ -4206,6 +4207,16 @@ +@@ -4206,6 +4207,16 @@ static void bnx2x_warpcore_set_sgmii_spe 0x1000); DP(NETIF_MSG_LINK, "set SGMII AUTONEG\n"); } else { @@ -35,7 +35,7 @@ bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD, MDIO_WC_REG_COMBO_IEEE0_MIICTRL, &val16); val16 &= 0xcebf; -@@ -4216,6 +4227,7 @@ +@@ -4216,6 +4227,7 @@ static void bnx2x_warpcore_set_sgmii_spe val16 |= 0x2000; break; case SPEED_1000: @@ -43,7 +43,7 @@ val16 |= 0x0040; break; default: -@@ -8169,6 +8181,7 @@ +@@ -8169,6 +8181,7 @@ static int bnx2x_get_edc_mode(struct bnx break; } case SFP_EEPROM_CON_TYPE_VAL_UNKNOWN: @@ -51,7 +51,7 @@ case SFP_EEPROM_CON_TYPE_VAL_LC: case SFP_EEPROM_CON_TYPE_VAL_RJ45: check_limiting_mode = 1; -@@ -8179,7 +8192,8 @@ +@@ -8179,7 +8192,8 @@ static int bnx2x_get_edc_mode(struct bnx (val[SFP_EEPROM_1G_COMP_CODE_ADDR] != 0)) { DP(NETIF_MSG_LINK, "1G SFP module detected\n"); phy->media_type = ETH_PHY_SFP_1G_FIBER; @@ -61,7 +61,7 @@ u8 gport = params->port; phy->req_line_speed = SPEED_1000; if (!CHIP_IS_E1x(bp)) { -@@ -8339,7 +8353,7 @@ +@@ -8339,7 +8353,7 @@ static int bnx2x_wait_for_sfp_module_ini * some phys type ( e.g. JDSU ) */ @@ -70,7 +70,7 @@ if (phy->type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_DIRECT) rc = bnx2x_warpcore_read_sfp_module_eeprom( phy, params, I2C_DEV_ADDR_A0, 1, 1, &val, -@@ -9238,6 +9252,7 @@ +@@ -9238,6 +9252,7 @@ static void bnx2x_8727_config_speed(stru u16 tmp1, val; /* Set option 1G speed */ if ((phy->req_line_speed == SPEED_1000) || @@ -78,7 +78,7 @@ (phy->media_type == ETH_PHY_SFP_1G_FIBER)) { DP(NETIF_MSG_LINK, "Setting 1G force\n"); bnx2x_cl45_write(bp, phy, -@@ -9247,6 +9262,22 @@ +@@ -9247,6 +9262,22 @@ static void bnx2x_8727_config_speed(stru bnx2x_cl45_read(bp, phy, MDIO_PMA_DEVAD, MDIO_PMA_REG_10G_CTRL2, &tmp1); DP(NETIF_MSG_LINK, "1.7 = 0x%x\n", tmp1); @@ -101,7 +101,7 @@ /* Power down the XAUI until link is up in case of dual-media * and 1G */ -@@ -9268,7 +9299,7 @@ +@@ -9268,7 +9299,7 @@ static void bnx2x_8727_config_speed(stru DP(NETIF_MSG_LINK, "Setting 1G clause37\n"); bnx2x_cl45_write(bp, phy, @@ -110,7 +110,7 @@ bnx2x_cl45_write(bp, phy, MDIO_AN_DEVAD, MDIO_AN_REG_CL37_AN, 0x1300); } else { -@@ -9276,9 +9307,12 @@ +@@ -9276,9 +9307,12 @@ static void bnx2x_8727_config_speed(stru * registers although it is default */ bnx2x_cl45_write(bp, phy, @@ -124,7 +124,7 @@ MDIO_AN_DEVAD, MDIO_AN_REG_CL37_AN, 0x0100); bnx2x_cl45_write(bp, phy, MDIO_PMA_DEVAD, MDIO_PMA_REG_CTRL, 0x2040); -@@ -9569,6 +9603,11 @@ +@@ -9569,6 +9603,11 @@ static u8 bnx2x_8727_read_status(struct vars->line_speed = SPEED_10000; DP(NETIF_MSG_LINK, "port %x: External link up in 10G\n", params->port); @@ -136,7 +136,7 @@ } else if ((link_status & (1<<0)) && (!(link_status & (1<<13)))) { link_up = 1; vars->line_speed = SPEED_1000; -@@ -9600,7 +9639,8 @@ +@@ -9600,7 +9639,8 @@ static u8 bnx2x_8727_read_status(struct } if ((DUAL_MEDIA(params)) && @@ -146,7 +146,7 @@ bnx2x_cl45_read(bp, phy, MDIO_PMA_DEVAD, MDIO_PMA_REG_8727_PCS_GP, &val1); -@@ -11730,6 +11770,7 @@ +@@ -11730,6 +11770,7 @@ static const struct bnx2x_phy phy_warpco SUPPORTED_100baseT_Full | SUPPORTED_1000baseT_Full | SUPPORTED_1000baseKX_Full | @@ -154,7 +154,7 @@ SUPPORTED_10000baseT_Full | SUPPORTED_10000baseKR_Full | SUPPORTED_20000baseKR2_Full | -@@ -11916,6 +11957,7 @@ +@@ -11916,6 +11957,7 @@ static const struct bnx2x_phy phy_8727 = .tx_preemphasis = {0xffff, 0xffff, 0xffff, 0xffff}, .mdio_ctrl = 0, .supported = (SUPPORTED_10000baseT_Full | @@ -162,7 +162,7 @@ SUPPORTED_1000baseT_Full | SUPPORTED_FIBRE | SUPPORTED_Pause | -@@ -12263,6 +12305,7 @@ +@@ -12263,6 +12305,7 @@ static int bnx2x_populate_int_phy(struct break; case PORT_HW_CFG_NET_SERDES_IF_SFI: phy->supported &= (SUPPORTED_1000baseT_Full | @@ -170,7 +170,7 @@ SUPPORTED_10000baseT_Full | SUPPORTED_FIBRE | SUPPORTED_Pause | -@@ -13947,7 +13990,8 @@ +@@ -13947,7 +13990,8 @@ void bnx2x_period_func(struct link_param & PORT_HW_CFG_NET_SERDES_IF_MASK) == PORT_HW_CFG_NET_SERDES_IF_SFI) { if (bnx2x_is_sfp_module_plugged(phy, params)) { @@ -182,7 +182,7 @@ /* Clean trail, interrupt corrects the leds */ --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c -@@ -105,6 +105,10 @@ +@@ -105,6 +105,10 @@ static int disable_tpa; module_param(disable_tpa, int, 0444); MODULE_PARM_DESC(disable_tpa, " Disable the TPA (LRO) feature"); @@ -193,7 +193,7 @@ static int int_mode; module_param(int_mode, int, 0444); MODULE_PARM_DESC(int_mode, " Force interrupt mode other than MSI-X " -@@ -12455,6 +12459,8 @@ +@@ -12455,6 +12459,8 @@ static int bnx2x_init_bp(struct bnx2x *b if (BP_NOMCP(bp) && (func == 0)) dev_err(&bp->pdev->dev, "MCP disabled, must load devices in order!\n"); @@ -204,7 +204,7 @@ /* Reduce memory usage in kdump environment by disabling TPA */ --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_reg.h +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_reg.h -@@ -7169,7 +7169,8 @@ +@@ -7169,7 +7169,8 @@ Theotherbitsarereservedandshouldbezero*/ #define MDIO_PMA_REG_8727_PCS_GP 0xc842 #define MDIO_PMA_REG_8727_OPT_CFG_REG 0xc8e4