From 32419ee4e4282d57a41cc1bcd0ef678867d50210 Mon Sep 17 00:00:00 2001 From: Beginner <70857188+Beginner-Go@users.noreply.github.com> Date: Thu, 22 Jul 2021 17:53:15 +0800 Subject: [PATCH] Revert "kernel: bump 5.10 to 5.10.51 (#7437)" (#7473) This reverts commit a8ad0940bf17ddc07a138be6014c64b35f37e47a. --- include/kernel-version.mk | 4 +- .../910-unaligned_access_hacks.patch | 2 +- ...CPU_MIPS64-for-remaining-MIPS64-CPUs.patch | 2 +- ...pi-poll-functionality-to-__napi_poll.patch | 8 +- ...threaded-able-napi-poll-loop-support.patch | 8 +- ...tribute-to-control-napi-threaded-mod.patch | 2 +- ...ween-napi-kthread-mode-and-busy-poll.patch | 4 +- ...up-on-napi_disable-for-threaded-napi.patch | 4 +- .../301-mips_image_cmdline_hack.patch | 2 +- .../300-mips_expose_boot_raw.patch | 4 +- ...T-skip-GRO-for-foreign-MAC-addresses.patch | 8 +- ... 681-NET-add-of_get_mac_address_mtd.patch} | 38 +++--- ...et-add-mac-address-increment-support.patch | 128 ------------------ .../810-pci_disable_common_quirks.patch | 8 +- .../lantiq/patches-5.10/0152-lantiq-VPE.patch | 2 +- .../810-uvc-add-iPassion-iP2970-support.patch | 4 +- ...usb3-controller-node-for-RK3328-SoCs.patch | 32 ++--- 17 files changed, 65 insertions(+), 195 deletions(-) rename target/linux/generic/pending-5.10/{681-NET-add-mtd-mac-address-support-to-of_get_mac_addres.patch => 681-NET-add-of_get_mac_address_mtd.patch} (80%) delete mode 100644 target/linux/generic/pending-5.10/682-of_net-add-mac-address-increment-support.patch diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 91e609c42..2948f7b5e 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -7,10 +7,10 @@ ifdef CONFIG_TESTING_KERNEL endif LINUX_VERSION-5.4 = .132 -LINUX_VERSION-5.10 = .51 +LINUX_VERSION-5.10 = .50 LINUX_KERNEL_HASH-5.4.132 = 8466adbfb3579e751ede683496df7bb20f258b5f882250f3dd82be63736d00ef -LINUX_KERNEL_HASH-5.10.51 = 95bae893c274ccc3a8a6271f377bcc7fd3badcb7990ecd41b05b2731f1d67ae2 +LINUX_KERNEL_HASH-5.10.50 = 8bda327a7d95acfff8f87fb6ef4223e3194fa22195f5551249a9aa3393bfb436 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) diff --git a/target/linux/ath79/patches-5.10/910-unaligned_access_hacks.patch b/target/linux/ath79/patches-5.10/910-unaligned_access_hacks.patch index c77de17db..b9290dee1 100644 --- a/target/linux/ath79/patches-5.10/910-unaligned_access_hacks.patch +++ b/target/linux/ath79/patches-5.10/910-unaligned_access_hacks.patch @@ -706,7 +706,7 @@ EXPORT_SYMBOL(xfrm_parse_spi); --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c -@@ -4081,14 +4081,16 @@ static bool tcp_parse_aligned_timestamp( +@@ -4074,14 +4074,16 @@ static bool tcp_parse_aligned_timestamp( { const __be32 *ptr = (const __be32 *)(th + 1); diff --git a/target/linux/generic/backport-5.10/103-v5.13-MIPS-select-CPU_MIPS64-for-remaining-MIPS64-CPUs.patch b/target/linux/generic/backport-5.10/103-v5.13-MIPS-select-CPU_MIPS64-for-remaining-MIPS64-CPUs.patch index 83bfd733d..9fc236ec4 100644 --- a/target/linux/generic/backport-5.10/103-v5.13-MIPS-select-CPU_MIPS64-for-remaining-MIPS64-CPUs.patch +++ b/target/linux/generic/backport-5.10/103-v5.13-MIPS-select-CPU_MIPS64-for-remaining-MIPS64-CPUs.patch @@ -25,7 +25,7 @@ Signed-off-by: Jason A. Donenfeld --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig -@@ -2078,7 +2078,7 @@ config CPU_MIPS32 +@@ -2076,7 +2076,7 @@ config CPU_MIPS32 config CPU_MIPS64 bool default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R5 || \ diff --git a/target/linux/generic/backport-5.10/600-v5.12-net-extract-napi-poll-functionality-to-__napi_poll.patch b/target/linux/generic/backport-5.10/600-v5.12-net-extract-napi-poll-functionality-to-__napi_poll.patch index 7f92a1307..877ccb2ae 100644 --- a/target/linux/generic/backport-5.10/600-v5.12-net-extract-napi-poll-functionality-to-__napi_poll.patch +++ b/target/linux/generic/backport-5.10/600-v5.12-net-extract-napi-poll-functionality-to-__napi_poll.patch @@ -18,7 +18,7 @@ Signed-off-by: David S. Miller --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -6779,15 +6779,10 @@ void __netif_napi_del(struct napi_struct +@@ -6772,15 +6772,10 @@ void __netif_napi_del(struct napi_struct } EXPORT_SYMBOL(__netif_napi_del); @@ -35,7 +35,7 @@ Signed-off-by: David S. Miller weight = n->weight; /* This NAPI_STATE_SCHED test is for avoiding a race -@@ -6807,7 +6802,7 @@ static int napi_poll(struct napi_struct +@@ -6800,7 +6795,7 @@ static int napi_poll(struct napi_struct n->poll, work, weight); if (likely(work < weight)) @@ -44,7 +44,7 @@ Signed-off-by: David S. Miller /* Drivers must not modify the NAPI state if they * consume the entire weight. In such cases this code -@@ -6816,7 +6811,7 @@ static int napi_poll(struct napi_struct +@@ -6809,7 +6804,7 @@ static int napi_poll(struct napi_struct */ if (unlikely(napi_disable_pending(n))) { napi_complete(n); @@ -53,7 +53,7 @@ Signed-off-by: David S. Miller } if (n->gro_bitmask) { -@@ -6834,12 +6829,29 @@ static int napi_poll(struct napi_struct +@@ -6827,12 +6822,29 @@ static int napi_poll(struct napi_struct if (unlikely(!list_empty(&n->poll_list))) { pr_warn_once("%s: Budget exhausted after napi rescheduled\n", n->dev ? n->dev->name : "backlog"); diff --git a/target/linux/generic/backport-5.10/601-v5.12-net-implement-threaded-able-napi-poll-loop-support.patch b/target/linux/generic/backport-5.10/601-v5.12-net-implement-threaded-able-napi-poll-loop-support.patch index 6396499e4..43267b5d7 100644 --- a/target/linux/generic/backport-5.10/601-v5.12-net-implement-threaded-able-napi-poll-loop-support.patch +++ b/target/linux/generic/backport-5.10/601-v5.12-net-implement-threaded-able-napi-poll-loop-support.patch @@ -153,7 +153,7 @@ Signed-off-by: David S. Miller list_add_tail(&napi->poll_list, &sd->poll_list); __raise_softirq_irqoff(NET_RX_SOFTIRQ); } -@@ -6732,6 +6769,12 @@ void netif_napi_add(struct net_device *d +@@ -6725,6 +6762,12 @@ void netif_napi_add(struct net_device *d set_bit(NAPI_STATE_NPSVC, &napi->state); list_add_rcu(&napi->dev_list, &dev->napi_list); napi_hash_add(napi); @@ -166,7 +166,7 @@ Signed-off-by: David S. Miller } EXPORT_SYMBOL(netif_napi_add); -@@ -6748,9 +6791,28 @@ void napi_disable(struct napi_struct *n) +@@ -6741,9 +6784,28 @@ void napi_disable(struct napi_struct *n) hrtimer_cancel(&n->timer); clear_bit(NAPI_STATE_DISABLE, &n->state); @@ -195,7 +195,7 @@ Signed-off-by: David S. Miller static void flush_gro_hash(struct napi_struct *napi) { int i; -@@ -6776,6 +6838,11 @@ void __netif_napi_del(struct napi_struct +@@ -6769,6 +6831,11 @@ void __netif_napi_del(struct napi_struct flush_gro_hash(napi); napi->gro_bitmask = 0; @@ -207,7 +207,7 @@ Signed-off-by: David S. Miller } EXPORT_SYMBOL(__netif_napi_del); -@@ -6857,6 +6924,51 @@ static int napi_poll(struct napi_struct +@@ -6850,6 +6917,51 @@ static int napi_poll(struct napi_struct return work; } diff --git a/target/linux/generic/backport-5.10/602-v5.12-net-add-sysfs-attribute-to-control-napi-threaded-mod.patch b/target/linux/generic/backport-5.10/602-v5.12-net-add-sysfs-attribute-to-control-napi-threaded-mod.patch index 323e93860..c54e2b2fe 100644 --- a/target/linux/generic/backport-5.10/602-v5.12-net-add-sysfs-attribute-to-control-napi-threaded-mod.patch +++ b/target/linux/generic/backport-5.10/602-v5.12-net-add-sysfs-attribute-to-control-napi-threaded-mod.patch @@ -69,7 +69,7 @@ Signed-off-by: David S. Miller * wake_up_process() when it's not NULL. */ thread = READ_ONCE(napi->thread); -@@ -6742,6 +6743,49 @@ static void init_gro_hash(struct napi_st +@@ -6735,6 +6736,49 @@ static void init_gro_hash(struct napi_st napi->gro_bitmask = 0; } diff --git a/target/linux/generic/backport-5.10/603-v5.12-net-fix-race-between-napi-kthread-mode-and-busy-poll.patch b/target/linux/generic/backport-5.10/603-v5.12-net-fix-race-between-napi-kthread-mode-and-busy-poll.patch index cdab47e0c..cff4e8b17 100644 --- a/target/linux/generic/backport-5.10/603-v5.12-net-fix-race-between-napi-kthread-mode-and-busy-poll.patch +++ b/target/linux/generic/backport-5.10/603-v5.12-net-fix-race-between-napi-kthread-mode-and-busy-poll.patch @@ -54,7 +54,7 @@ Cc: Hannes Frederic Sowa wake_up_process(thread); return; } -@@ -6534,7 +6536,8 @@ bool napi_complete_done(struct napi_stru +@@ -6527,7 +6529,8 @@ bool napi_complete_done(struct napi_stru WARN_ON_ONCE(!(val & NAPIF_STATE_SCHED)); @@ -64,7 +64,7 @@ Cc: Hannes Frederic Sowa /* If STATE_MISSED was set, leave STATE_SCHED set, * because we will call napi->poll() one more time. -@@ -6970,16 +6973,25 @@ static int napi_poll(struct napi_struct +@@ -6963,16 +6966,25 @@ static int napi_poll(struct napi_struct static int napi_thread_wait(struct napi_struct *napi) { diff --git a/target/linux/generic/backport-5.10/604-v5.12-net-fix-hangup-on-napi_disable-for-threaded-napi.patch b/target/linux/generic/backport-5.10/604-v5.12-net-fix-hangup-on-napi_disable-for-threaded-napi.patch index 5894099ff..0b7639af1 100644 --- a/target/linux/generic/backport-5.10/604-v5.12-net-fix-hangup-on-napi_disable-for-threaded-napi.patch +++ b/target/linux/generic/backport-5.10/604-v5.12-net-fix-hangup-on-napi_disable-for-threaded-napi.patch @@ -34,7 +34,7 @@ Signed-off-by: Jakub Kicinski --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -6977,7 +6977,7 @@ static int napi_thread_wait(struct napi_ +@@ -6970,7 +6970,7 @@ static int napi_thread_wait(struct napi_ set_current_state(TASK_INTERRUPTIBLE); @@ -43,7 +43,7 @@ Signed-off-by: Jakub Kicinski /* Testing SCHED_THREADED bit here to make sure the current * kthread owns this napi and could poll on this napi. * Testing SCHED bit is not enough because SCHED bit might be -@@ -6995,6 +6995,7 @@ static int napi_thread_wait(struct napi_ +@@ -6988,6 +6988,7 @@ static int napi_thread_wait(struct napi_ set_current_state(TASK_INTERRUPTIBLE); } __set_current_state(TASK_RUNNING); diff --git a/target/linux/generic/hack-5.10/301-mips_image_cmdline_hack.patch b/target/linux/generic/hack-5.10/301-mips_image_cmdline_hack.patch index ecf86b66a..027620dee 100644 --- a/target/linux/generic/hack-5.10/301-mips_image_cmdline_hack.patch +++ b/target/linux/generic/hack-5.10/301-mips_image_cmdline_hack.patch @@ -10,7 +10,7 @@ Signed-off-by: Gabor Juhos --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig -@@ -1165,6 +1165,10 @@ config MIPS_MSC +@@ -1163,6 +1163,10 @@ config MIPS_MSC config SYNC_R4K bool diff --git a/target/linux/generic/pending-5.10/300-mips_expose_boot_raw.patch b/target/linux/generic/pending-5.10/300-mips_expose_boot_raw.patch index a04864ab4..8ecfb6d3c 100644 --- a/target/linux/generic/pending-5.10/300-mips_expose_boot_raw.patch +++ b/target/linux/generic/pending-5.10/300-mips_expose_boot_raw.patch @@ -9,7 +9,7 @@ Acked-by: Rob Landley --- --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig -@@ -1080,9 +1080,6 @@ config FW_ARC +@@ -1078,9 +1078,6 @@ config FW_ARC config ARCH_MAY_HAVE_PC_FDC bool @@ -19,7 +19,7 @@ Acked-by: Rob Landley config CEVT_BCM1480 bool -@@ -3172,6 +3169,18 @@ choice +@@ -3170,6 +3167,18 @@ choice bool "Extend builtin kernel arguments with bootloader arguments" endchoice diff --git a/target/linux/generic/pending-5.10/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/pending-5.10/680-NET-skip-GRO-for-foreign-MAC-addresses.patch index 8a47b3ab2..33d64ab3d 100644 --- a/target/linux/generic/pending-5.10/680-NET-skip-GRO-for-foreign-MAC-addresses.patch +++ b/target/linux/generic/pending-5.10/680-NET-skip-GRO-for-foreign-MAC-addresses.patch @@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau if (netif_elide_gro(skb->dev)) goto normal; -@@ -8013,6 +8016,48 @@ static void __netdev_adjacent_dev_unlink +@@ -8006,6 +8009,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, -@@ -8064,6 +8109,7 @@ static int __netdev_upper_dev_link(struc +@@ -8057,6 +8102,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); -@@ -8160,6 +8206,7 @@ static void __netdev_upper_dev_unlink(st +@@ -8153,6 +8199,7 @@ static void __netdev_upper_dev_unlink(st __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); -@@ -8946,6 +8993,7 @@ int dev_set_mac_address(struct net_devic +@@ -8939,6 +8986,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.10/681-NET-add-mtd-mac-address-support-to-of_get_mac_addres.patch b/target/linux/generic/pending-5.10/681-NET-add-of_get_mac_address_mtd.patch similarity index 80% rename from target/linux/generic/pending-5.10/681-NET-add-mtd-mac-address-support-to-of_get_mac_addres.patch rename to target/linux/generic/pending-5.10/681-NET-add-of_get_mac_address_mtd.patch index 9e1656495..71fbfe997 100644 --- a/target/linux/generic/pending-5.10/681-NET-add-mtd-mac-address-support-to-of_get_mac_addres.patch +++ b/target/linux/generic/pending-5.10/681-NET-add-of_get_mac_address_mtd.patch @@ -1,7 +1,5 @@ -From 6f8e5369ae054ec6c9265581d5a7e39738a5cd84 Mon Sep 17 00:00:00 2001 -From: Ansuel Smith -Date: Tue, 30 Mar 2021 13:16:38 +0200 -Subject: [PATCH 1/2] NET: add mtd-mac-address support to of_get_mac_address() +From: John Crispin +Subject: NET: add mtd-mac-address support to of_get_mac_address() Many embedded devices have information such as mac addresses stored inside mtd devices. This patch allows us to add a property inside a node describing a @@ -10,10 +8,10 @@ where the mac address can be found. Signed-off-by: John Crispin Signed-off-by: Felix Fietkau -Signed-off-by: Ansuel Smith --- - drivers/of/of_net.c | 75 ++++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 74 insertions(+), 1 deletion(-) + drivers/of/of_net.c | 37 +++++++++++++++++++++++++++++++++++++ + include/linux/of_net.h | 1 + + 2 files changed, 38 insertions(+) --- a/drivers/of/of_net.c +++ b/drivers/of/of_net.c @@ -34,7 +32,7 @@ Signed-off-by: Ansuel Smith { struct property *pp = of_find_property(np, name, NULL); -@@ -78,6 +79,70 @@ static const void *of_get_mac_addr_nvmem +@@ -78,6 +79,79 @@ static const void *of_get_mac_addr_nvmem return mac; } @@ -49,8 +47,10 @@ Signed-off-by: Ansuel Smith + const char *part; + const __be32 *list; + phandle phandle; ++ u32 mac_inc = 0; + u8 mac[ETH_ALEN]; + void *addr; ++ u32 inc_idx; + + list = of_get_property(np, "mtd-mac-address", &size); + if (!list || (size != (2 * sizeof(*list)))) @@ -74,6 +74,14 @@ Signed-off-by: Ansuel Smith + ret = mtd_read(mtd, be32_to_cpup(list), 6, &retlen, mac); + put_mtd_device(mtd); + ++ if (of_property_read_u32(np, "mtd-mac-address-increment-byte", &inc_idx)) ++ inc_idx = 5; ++ if (inc_idx > 5) ++ return NULL; ++ ++ if (!of_property_read_u32(np, "mtd-mac-address-increment", &mac_inc)) ++ mac[inc_idx] += mac_inc; ++ + if (!is_valid_ether_addr(mac)) + return NULL; + @@ -100,12 +108,11 @@ Signed-off-by: Ansuel Smith +#endif + return NULL; +} -+ + /** * Search the device tree for the best MAC address to use. 'mac-address' is * checked first, because that is supposed to contain to "most recent" MAC -@@ -98,6 +163,10 @@ static const void *of_get_mac_addr_nvmem +@@ -98,12 +172,20 @@ static const void *of_get_mac_addr_nvmem * this case, the real MAC is in 'local-mac-address', and 'mac-address' exists * but is all zeros. * @@ -116,14 +123,13 @@ Signed-off-by: Ansuel Smith * Return: Will be a valid pointer on success and ERR_PTR in case of error. */ const void *of_get_mac_address(struct device_node *np) -@@ -116,6 +185,10 @@ const void *of_get_mac_address(struct de - if (addr) - return addr; + { + const void *addr; + addr = of_get_mac_address_mtd(np); + if (addr) + return addr; + - return of_get_mac_addr_nvmem(np); - } - EXPORT_SYMBOL(of_get_mac_address); + addr = of_get_mac_addr(np, "mac-address"); + if (addr) + return addr; diff --git a/target/linux/generic/pending-5.10/682-of_net-add-mac-address-increment-support.patch b/target/linux/generic/pending-5.10/682-of_net-add-mac-address-increment-support.patch deleted file mode 100644 index 23248955f..000000000 --- a/target/linux/generic/pending-5.10/682-of_net-add-mac-address-increment-support.patch +++ /dev/null @@ -1,128 +0,0 @@ -From 639dba857aa554f2a78572adc4cf3c32de9ec2e2 Mon Sep 17 00:00:00 2001 -From: Ansuel Smith -Date: Tue, 30 Mar 2021 18:21:14 +0200 -Subject: [PATCH 2/2] of_net: add mac-address-increment support - -Lots of embedded devices use the mac-address of other interface -extracted from nvmem cells and increments it by one or two. Add two -bindings to integrate this and directly use the right mac-address for -the interface. Some example are some routers that use the gmac -mac-address stored in the art partition and increments it by one for the -wifi. mac-address-increment-byte bindings is used to tell what byte of -the mac-address has to be increased (if not defined the last byte is -increased) and mac-address-increment tells how much the byte decided -early has to be increased. - -Signed-off-by: Ansuel Smith ---- - drivers/of/of_net.c | 59 ++++++++++++++++++++++++++++++++++----------- - 1 file changed, 45 insertions(+), 14 deletions(-) - ---- a/drivers/of/of_net.c -+++ b/drivers/of/of_net.c -@@ -55,31 +55,36 @@ static void *of_get_mac_addr(struct devi - return NULL; - } - --static const void *of_get_mac_addr_nvmem(struct device_node *np) -+static void *of_get_mac_addr_nvmem(struct device_node *np, int *err) - { - int ret; -- const void *mac; -+ void *mac; - u8 nvmem_mac[ETH_ALEN]; - struct platform_device *pdev = of_find_device_by_node(np); - -- if (!pdev) -- return ERR_PTR(-ENODEV); -+ if (!pdev) { -+ *err = -ENODEV; -+ return NULL; -+ } - - ret = nvmem_get_mac_address(&pdev->dev, &nvmem_mac); - if (ret) { - put_device(&pdev->dev); -- return ERR_PTR(ret); -+ *err = ret; -+ return NULL; - } - - mac = devm_kmemdup(&pdev->dev, nvmem_mac, ETH_ALEN, GFP_KERNEL); - put_device(&pdev->dev); -- if (!mac) -- return ERR_PTR(-ENOMEM); -+ if (!mac) { -+ *err = -ENOMEM; -+ return NULL; -+ } - - return mac; - } - --static const void *of_get_mac_address_mtd(struct device_node *np) -+static void *of_get_mac_address_mtd(struct device_node *np) - { - #ifdef CONFIG_MTD - struct device_node *mtd_np = NULL; -@@ -167,28 +172,54 @@ free: - * If a mtd-mac-address property exists, try to fetch the MAC address from the - * specified mtd device, and store it as a 'mac-address' property - * -+ * DT can tell the system to increment the mac-address after is extracted by -+ * using: -+ * - mac-address-increment-byte to decide what byte to increase -+ * (if not defined is increased the last byte) -+ * - mac-address-increment to decide how much to increase. The value will -+ * not overflow to other bytes if the increment is over 255. -+ * (example 00:01:02:03:04:ff + 1 == 00:01:02:03:04:00) -+ * - * Return: Will be a valid pointer on success and ERR_PTR in case of error. - */ - const void *of_get_mac_address(struct device_node *np) - { -- const void *addr; -+ u32 inc_idx, mac_inc; -+ int ret = 0; -+ u8 *addr; -+ -+ /* Check first if the increment byte is present and valid. -+ * If not set assume to increment the last byte if found. -+ */ -+ if (of_property_read_u32(np, "mac-address-increment-byte", &inc_idx)) -+ inc_idx = 5; -+ if (inc_idx < 3 || inc_idx > 5) -+ return ERR_PTR(-EINVAL); - - addr = of_get_mac_addr(np, "mac-address"); - if (addr) -- return addr; -+ goto found; - - addr = of_get_mac_addr(np, "local-mac-address"); - if (addr) -- return addr; -+ goto found; - - addr = of_get_mac_addr(np, "address"); - if (addr) -- return addr; -+ goto found; - - addr = of_get_mac_address_mtd(np); - if (addr) -- return addr; -+ goto found; -+ -+ addr = of_get_mac_addr_nvmem(np, &ret); -+ if (ret) -+ return ERR_PTR(ret); -+ -+found: -+ if (!of_property_read_u32(np, "mac-address-increment", &mac_inc)) -+ addr[inc_idx] += mac_inc; - -- return of_get_mac_addr_nvmem(np); -+ return addr; - } - EXPORT_SYMBOL(of_get_mac_address); diff --git a/target/linux/generic/pending-5.10/810-pci_disable_common_quirks.patch b/target/linux/generic/pending-5.10/810-pci_disable_common_quirks.patch index 5be832b07..7e7866add 100644 --- a/target/linux/generic/pending-5.10/810-pci_disable_common_quirks.patch +++ b/target/linux/generic/pending-5.10/810-pci_disable_common_quirks.patch @@ -25,7 +25,7 @@ Signed-off-by: Gabor Juhos --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c -@@ -206,6 +206,7 @@ static void quirk_mmio_always_on(struct +@@ -205,6 +205,7 @@ static void quirk_mmio_always_on(struct DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_BRIDGE_HOST, 8, quirk_mmio_always_on); @@ -33,7 +33,7 @@ Signed-off-by: Gabor Juhos /* * The Mellanox Tavor device gives false positive parity errors. Mark this * device with a broken_parity_status to allow PCI scanning code to "skip" -@@ -3321,6 +3322,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I +@@ -3320,6 +3321,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata); @@ -42,7 +42,7 @@ Signed-off-by: Gabor Juhos /* * Ivytown NTB BAR sizes are misreported by the hardware due to an erratum. * To work around this, query the size it should be configured to by the -@@ -3346,6 +3349,8 @@ static void quirk_intel_ntb(struct pci_d +@@ -3345,6 +3348,8 @@ static void quirk_intel_ntb(struct pci_d DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e08, quirk_intel_ntb); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e0d, quirk_intel_ntb); @@ -51,7 +51,7 @@ Signed-off-by: Gabor Juhos /* * Some BIOS implementations leave the Intel GPU interrupts enabled, even * though no one is handling them (e.g., if the i915 driver is never -@@ -3384,6 +3389,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN +@@ -3383,6 +3388,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq); diff --git a/target/linux/lantiq/patches-5.10/0152-lantiq-VPE.patch b/target/linux/lantiq/patches-5.10/0152-lantiq-VPE.patch index 5f070ffb9..aa9745d6f 100644 --- a/target/linux/lantiq/patches-5.10/0152-lantiq-VPE.patch +++ b/target/linux/lantiq/patches-5.10/0152-lantiq-VPE.patch @@ -1,6 +1,6 @@ --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig -@@ -2428,6 +2428,12 @@ config MIPS_VPE_LOADER +@@ -2426,6 +2426,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/ramips/patches-5.10/810-uvc-add-iPassion-iP2970-support.patch b/target/linux/ramips/patches-5.10/810-uvc-add-iPassion-iP2970-support.patch index a01f3a107..204dc41b0 100644 --- a/target/linux/ramips/patches-5.10/810-uvc-add-iPassion-iP2970-support.patch +++ b/target/linux/ramips/patches-5.10/810-uvc-add-iPassion-iP2970-support.patch @@ -64,7 +64,7 @@ Signed-off-by: John Crispin #include -@@ -1183,9 +1188,149 @@ static void uvc_video_decode_data(struct +@@ -1156,9 +1161,149 @@ static void uvc_video_decode_data(struct uvc_urb->async_operations++; } @@ -214,7 +214,7 @@ Signed-off-by: John Crispin /* Mark the buffer as done if the EOF marker is set. */ if (data[1] & UVC_STREAM_EOF && buf->bytesused != 0) { uvc_trace(UVC_TRACE_FRAME, "Frame complete (EOF found).\n"); -@@ -1742,6 +1887,8 @@ static int uvc_init_video_isoc(struct uv +@@ -1715,6 +1860,8 @@ static int uvc_init_video_isoc(struct uv if (npackets == 0) return -ENOMEM; diff --git a/target/linux/rockchip/patches-5.10/101-dts-rockchip-add-usb3-controller-node-for-RK3328-SoCs.patch b/target/linux/rockchip/patches-5.10/101-dts-rockchip-add-usb3-controller-node-for-RK3328-SoCs.patch index 2dd6e40eb..e8123ee02 100644 --- a/target/linux/rockchip/patches-5.10/101-dts-rockchip-add-usb3-controller-node-for-RK3328-SoCs.patch +++ b/target/linux/rockchip/patches-5.10/101-dts-rockchip-add-usb3-controller-node-for-RK3328-SoCs.patch @@ -26,30 +26,20 @@ use-case. You've been warned. --- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi -@@ -985,22 +985,30 @@ +@@ -984,6 +984,33 @@ + status = "disabled"; }; - usbdrd3: usb@ff600000 { -- compatible = "rockchip,rk3328-dwc3", "snps,dwc3"; -- reg = <0x0 0xff600000 0x0 0x100000>; -- interrupts = ; ++ usbdrd3: usb@ff600000 { + compatible = "rockchip,rk3328-dwc3", "rockchip,rk3399-dwc3"; - clocks = <&cru SCLK_USB3OTG_REF>, <&cru SCLK_USB3OTG_SUSPEND>, - <&cru ACLK_USB3OTG>; - clock-names = "ref_clk", "suspend_clk", - "bus_clk"; -- dr_mode = "otg"; -- phy_type = "utmi_wide"; -- snps,dis-del-phy-power-chg-quirk; -- snps,dis_enblslpm_quirk; -- snps,dis-tx-ipgap-linecheck-quirk; -- snps,dis-u2-freeclk-exists-quirk; -- snps,dis_u2_susphy_quirk; -- snps,dis_u3_susphy_quirk; ++ clocks = <&cru SCLK_USB3OTG_REF>, <&cru SCLK_USB3OTG_SUSPEND>, ++ <&cru ACLK_USB3OTG>; ++ clock-names = "ref_clk", "suspend_clk", ++ "bus_clk"; + #address-cells = <2>; + #size-cells = <2>; + ranges; - status = "disabled"; ++ status = "disabled"; + + usbdrd_dwc3: dwc3@ff600000 { + compatible = "snps,dwc3"; @@ -65,6 +55,8 @@ use-case. You've been warned. + snps,dis-tx-ipgap-linecheck-quirk; + status = "disabled"; + }; - }; - ++ }; ++ gic: interrupt-controller@ff811000 { + compatible = "arm,gic-400"; + #interrupt-cells = <3>;