diff --git a/include/kernel-6.6 b/include/kernel-6.6 index 0cfe052e6..1e5dc77de 100644 --- a/include/kernel-6.6 +++ b/include/kernel-6.6 @@ -1,2 +1,2 @@ -LINUX_VERSION-6.6 = .63 -LINUX_KERNEL_HASH-6.6.63 = d1054ab4803413efe2850f50f1a84349c091631ec50a1cf9e891d1b1f9061835 +LINUX_VERSION-6.6 = .66 +LINUX_KERNEL_HASH-6.6.66 = 9d757937c4661c2f512c62641b74ef74eff9bb13dc5dbcbaaa108c21152f1e52 diff --git a/target/linux/generic/backport-6.6/780-01-v6.8-r8169-add-support-for-LED-s-on-RTL8168-RTL8101.patch b/target/linux/generic/backport-6.6/780-01-v6.8-r8169-add-support-for-LED-s-on-RTL8168-RTL8101.patch index 32348cddd..b7c742b36 100644 --- a/target/linux/generic/backport-6.6/780-01-v6.8-r8169-add-support-for-LED-s-on-RTL8168-RTL8101.patch +++ b/target/linux/generic/backport-6.6/780-01-v6.8-r8169-add-support-for-LED-s-on-RTL8168-RTL8101.patch @@ -296,7 +296,7 @@ Signed-off-by: David S. Miller static void r8168fp_adjust_ocp_cmd(struct rtl8169_private *tp, u32 *cmd, int type) { /* based on RTL8168FP_OOBMAC_BASE in vendor driver */ -@@ -5283,6 +5341,7 @@ static int rtl_init_one(struct pci_dev * +@@ -5289,6 +5347,7 @@ static int rtl_init_one(struct pci_dev * raw_spin_lock_init(&tp->cfg9346_usage_lock); raw_spin_lock_init(&tp->config25_lock); raw_spin_lock_init(&tp->mac_ocp_lock); @@ -304,7 +304,7 @@ Signed-off-by: David S. Miller dev->tstats = devm_netdev_alloc_pcpu_stats(&pdev->dev, struct pcpu_sw_netstats); -@@ -5439,6 +5498,12 @@ static int rtl_init_one(struct pci_dev * +@@ -5445,6 +5504,12 @@ static int rtl_init_one(struct pci_dev * if (rc) return rc; diff --git a/target/linux/generic/backport-6.6/780-02-v6.8-r8169-fix-building-with-CONFIG_LEDS_CLASS-m.patch b/target/linux/generic/backport-6.6/780-02-v6.8-r8169-fix-building-with-CONFIG_LEDS_CLASS-m.patch index 6d2b2dc10..903159a4e 100644 --- a/target/linux/generic/backport-6.6/780-02-v6.8-r8169-fix-building-with-CONFIG_LEDS_CLASS-m.patch +++ b/target/linux/generic/backport-6.6/780-02-v6.8-r8169-fix-building-with-CONFIG_LEDS_CLASS-m.patch @@ -59,7 +59,7 @@ Signed-off-by: Jakub Kicinski obj-$(CONFIG_R8169) += r8169.o --- a/drivers/net/ethernet/realtek/r8169_main.c +++ b/drivers/net/ethernet/realtek/r8169_main.c -@@ -5498,11 +5498,10 @@ static int rtl_init_one(struct pci_dev * +@@ -5504,11 +5504,10 @@ static int rtl_init_one(struct pci_dev * if (rc) return rc; diff --git a/target/linux/generic/backport-6.6/780-03-v6.9-r8169-add-support-for-RTL8126A.patch b/target/linux/generic/backport-6.6/780-03-v6.9-r8169-add-support-for-RTL8126A.patch index bc453e87e..1fa8c4414 100644 --- a/target/linux/generic/backport-6.6/780-03-v6.9-r8169-add-support-for-RTL8126A.patch +++ b/target/linux/generic/backport-6.6/780-03-v6.9-r8169-add-support-for-RTL8126A.patch @@ -311,7 +311,7 @@ Signed-off-by: David S. Miller rtl_enable_rxdvgate(tp); fsleep(2000); break; -@@ -4215,8 +4273,7 @@ static unsigned int rtl_quirk_packet_pad +@@ -4221,8 +4279,7 @@ static unsigned int rtl_quirk_packet_pad switch (tp->mac_version) { case RTL_GIGA_MAC_VER_34: @@ -321,7 +321,7 @@ Signed-off-by: David S. Miller padto = max_t(unsigned int, padto, ETH_ZLEN); break; default: -@@ -5250,7 +5307,7 @@ static void rtl_hw_initialize(struct rtl +@@ -5256,7 +5313,7 @@ static void rtl_hw_initialize(struct rtl case RTL_GIGA_MAC_VER_40 ... RTL_GIGA_MAC_VER_48: rtl_hw_init_8168g(tp); break; diff --git a/target/linux/generic/backport-6.6/780-05-v6.9-r8169-add-LED-support-for-RTL8125-RTL8126.patch b/target/linux/generic/backport-6.6/780-05-v6.9-r8169-add-LED-support-for-RTL8125-RTL8126.patch index 61af693b0..c4e41c97c 100644 --- a/target/linux/generic/backport-6.6/780-05-v6.9-r8169-add-LED-support-for-RTL8125-RTL8126.patch +++ b/target/linux/generic/backport-6.6/780-05-v6.9-r8169-add-LED-support-for-RTL8125-RTL8126.patch @@ -225,7 +225,7 @@ Signed-off-by: Jakub Kicinski void r8169_get_led_name(struct rtl8169_private *tp, int idx, char *buf, int buf_len) { -@@ -5555,10 +5606,12 @@ static int rtl_init_one(struct pci_dev * +@@ -5561,10 +5612,12 @@ static int rtl_init_one(struct pci_dev * if (rc) return rc; diff --git a/target/linux/generic/backport-6.6/780-08-v6.10-r8169-fix-LED-related-deadlock-on-module-removal.patch b/target/linux/generic/backport-6.6/780-08-v6.10-r8169-fix-LED-related-deadlock-on-module-removal.patch index 922aeff32..0daf5efd0 100644 --- a/target/linux/generic/backport-6.6/780-08-v6.10-r8169-fix-LED-related-deadlock-on-module-removal.patch +++ b/target/linux/generic/backport-6.6/780-08-v6.10-r8169-fix-LED-related-deadlock-on-module-removal.patch @@ -124,7 +124,7 @@ Signed-off-by: David S. Miller u32 ocp_base; }; -@@ -5151,6 +5153,8 @@ static void rtl_remove_one(struct pci_de +@@ -5157,6 +5159,8 @@ static void rtl_remove_one(struct pci_de cancel_work_sync(&tp->wk.work); @@ -133,7 +133,7 @@ Signed-off-by: David S. Miller unregister_netdev(tp->dev); if (tp->dash_type != RTL_DASH_NONE) -@@ -5611,9 +5615,9 @@ static int rtl_init_one(struct pci_dev * +@@ -5617,9 +5621,9 @@ static int rtl_init_one(struct pci_dev * if (IS_ENABLED(CONFIG_R8169_LEDS)) { if (rtl_is_8125(tp)) diff --git a/target/linux/generic/backport-6.6/780-09-v6.10-r8169-add-missing-conditional-compiling-for-call-to-.patch b/target/linux/generic/backport-6.6/780-09-v6.10-r8169-add-missing-conditional-compiling-for-call-to-.patch index c9a36815b..99a7644e6 100644 --- a/target/linux/generic/backport-6.6/780-09-v6.10-r8169-add-missing-conditional-compiling-for-call-to-.patch +++ b/target/linux/generic/backport-6.6/780-09-v6.10-r8169-add-missing-conditional-compiling-for-call-to-.patch @@ -19,7 +19,7 @@ Signed-off-by: Jakub Kicinski --- a/drivers/net/ethernet/realtek/r8169_main.c +++ b/drivers/net/ethernet/realtek/r8169_main.c -@@ -5153,7 +5153,8 @@ static void rtl_remove_one(struct pci_de +@@ -5159,7 +5159,8 @@ static void rtl_remove_one(struct pci_de cancel_work_sync(&tp->wk.work); diff --git a/target/linux/generic/hack-6.6/204-module_strip.patch b/target/linux/generic/hack-6.6/204-module_strip.patch index 403ee1151..9eadd2ce1 100644 --- a/target/linux/generic/hack-6.6/204-module_strip.patch +++ b/target/linux/generic/hack-6.6/204-module_strip.patch @@ -141,7 +141,7 @@ Signed-off-by: Felix Fietkau if (err) --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c -@@ -1693,7 +1693,9 @@ static void read_symbols(const char *mod +@@ -1666,7 +1666,9 @@ static void read_symbols(const char *mod symname = remove_dot(info.strtab + sym->st_name); handle_symbol(mod, &info, sym, symname); @@ -151,7 +151,7 @@ Signed-off-by: Felix Fietkau } check_sec_ref(mod, &info); -@@ -1866,8 +1868,10 @@ static void add_header(struct buffer *b, +@@ -1839,8 +1841,10 @@ static void add_header(struct buffer *b, buf_printf(b, "BUILD_SALT;\n"); buf_printf(b, "BUILD_LTO_INFO;\n"); buf_printf(b, "\n"); @@ -162,7 +162,7 @@ Signed-off-by: Felix Fietkau buf_printf(b, "\n"); buf_printf(b, "__visible struct module __this_module\n"); buf_printf(b, "__section(\".gnu.linkonce.this_module\") = {\n"); -@@ -1881,8 +1885,10 @@ static void add_header(struct buffer *b, +@@ -1854,8 +1858,10 @@ static void add_header(struct buffer *b, buf_printf(b, "\t.arch = MODULE_ARCH_INIT,\n"); buf_printf(b, "};\n"); @@ -173,7 +173,7 @@ Signed-off-by: Felix Fietkau buf_printf(b, "\n" -@@ -1890,8 +1896,10 @@ static void add_header(struct buffer *b, +@@ -1863,8 +1869,10 @@ static void add_header(struct buffer *b, "MODULE_INFO(retpoline, \"Y\");\n" "#endif\n"); @@ -184,7 +184,7 @@ Signed-off-by: Felix Fietkau if (strstarts(mod->name, "tools/testing")) buf_printf(b, "\nMODULE_INFO(test, \"Y\");\n"); -@@ -2001,11 +2009,13 @@ static void add_depends(struct buffer *b +@@ -1974,11 +1982,13 @@ static void add_depends(struct buffer *b static void add_srcversion(struct buffer *b, struct module *mod) { @@ -198,7 +198,7 @@ Signed-off-by: Felix Fietkau } static void write_buf(struct buffer *b, const char *fname) -@@ -2088,7 +2098,9 @@ static void write_mod_c_file(struct modu +@@ -2061,7 +2071,9 @@ static void write_mod_c_file(struct modu add_exported_symbols(&buf, mod); add_versions(&buf, mod); add_depends(&buf, mod); diff --git a/target/linux/generic/hack-6.6/253-ksmbd-config.patch b/target/linux/generic/hack-6.6/253-ksmbd-config.patch index 9079c66d4..d54b48895 100644 --- a/target/linux/generic/hack-6.6/253-ksmbd-config.patch +++ b/target/linux/generic/hack-6.6/253-ksmbd-config.patch @@ -10,7 +10,7 @@ Subject: [PATCH] Kconfig: add tristate for OID and ASNI string --- a/init/Kconfig +++ b/init/Kconfig -@@ -1993,7 +1993,7 @@ config PADATA +@@ -2002,7 +2002,7 @@ config PADATA bool config ASN1 diff --git a/target/linux/generic/hack-6.6/259-regmap_dynamic.patch b/target/linux/generic/hack-6.6/259-regmap_dynamic.patch index cb93c96da..4f6dca712 100644 --- a/target/linux/generic/hack-6.6/259-regmap_dynamic.patch +++ b/target/linux/generic/hack-6.6/259-regmap_dynamic.patch @@ -137,7 +137,7 @@ Signed-off-by: Felix Fietkau #include #include #include -@@ -3470,3 +3471,5 @@ static int __init regmap_initcall(void) +@@ -3483,3 +3484,5 @@ static int __init regmap_initcall(void) return 0; } postcore_initcall(regmap_initcall); diff --git a/target/linux/generic/hack-6.6/650-netfilter-add-xt_FLOWOFFLOAD-target.patch b/target/linux/generic/hack-6.6/650-netfilter-add-xt_FLOWOFFLOAD-target.patch index eca611da7..58b37db2f 100644 --- a/target/linux/generic/hack-6.6/650-netfilter-add-xt_FLOWOFFLOAD-target.patch +++ b/target/linux/generic/hack-6.6/650-netfilter-add-xt_FLOWOFFLOAD-target.patch @@ -758,7 +758,7 @@ Signed-off-by: Felix Fietkau #include #include #include -@@ -377,8 +376,7 @@ flow_offload_lookup(struct nf_flowtable +@@ -373,8 +372,7 @@ flow_offload_lookup(struct nf_flowtable } EXPORT_SYMBOL_GPL(flow_offload_lookup); @@ -768,7 +768,7 @@ Signed-off-by: Felix Fietkau void (*iter)(struct nf_flowtable *flowtable, struct flow_offload *flow, void *data), void *data) -@@ -439,6 +437,7 @@ static void nf_flow_offload_gc_step(stru +@@ -435,6 +433,7 @@ static void nf_flow_offload_gc_step(stru nf_flow_offload_stats(flow_table, flow); } } diff --git a/target/linux/generic/hack-6.6/780-usb-net-MeigLink_modem_support.patch b/target/linux/generic/hack-6.6/780-usb-net-MeigLink_modem_support.patch index 66c58dba6..cefb9c53e 100644 --- a/target/linux/generic/hack-6.6/780-usb-net-MeigLink_modem_support.patch +++ b/target/linux/generic/hack-6.6/780-usb-net-MeigLink_modem_support.patch @@ -10,7 +10,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support --- a/drivers/net/usb/qmi_wwan.c +++ b/drivers/net/usb/qmi_wwan.c -@@ -1084,12 +1084,18 @@ static const struct usb_device_id produc +@@ -1084,6 +1084,11 @@ static const struct usb_device_id produc USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0x581d, USB_CLASS_VENDOR_SPEC, 1, 7), .driver_info = (unsigned long)&qmi_wwan_info, }, @@ -19,9 +19,10 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support + .driver_info = (unsigned long)&qmi_wwan_info, + }, + + {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0122)}, /* Quectel RG650V */ {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0125)}, /* Quectel EC25, EC20 R2.0 Mini PCIe */ {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0306)}, /* Quectel EP06/EG06/EM06 */ - {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0512)}, /* Quectel EG12/EM12 */ +@@ -1091,6 +1096,7 @@ static const struct usb_device_id produc {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0620)}, /* Quectel EM160R-GL */ {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0800)}, /* Quectel RM500Q-GL */ {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0801)}, /* Quectel RM520N */ diff --git a/target/linux/generic/hack-6.6/790-SFP-GE-T-ignore-TX_FAULT.patch b/target/linux/generic/hack-6.6/790-SFP-GE-T-ignore-TX_FAULT.patch index 7733b4552..1d6bc6ee0 100644 --- a/target/linux/generic/hack-6.6/790-SFP-GE-T-ignore-TX_FAULT.patch +++ b/target/linux/generic/hack-6.6/790-SFP-GE-T-ignore-TX_FAULT.patch @@ -26,7 +26,7 @@ Signed-off-by: Daniel Golle --- a/drivers/net/phy/sfp.c +++ b/drivers/net/phy/sfp.c -@@ -471,6 +471,9 @@ static const struct sfp_quirk sfp_quirks +@@ -472,6 +472,9 @@ static const struct sfp_quirk sfp_quirks // FS 2.5G Base-T SFP_QUIRK_M("FS", "SFP-2.5G-T", sfp_quirk_oem_2_5g), @@ -36,7 +36,7 @@ Signed-off-by: Daniel Golle // Lantech 8330-262D-E can operate at 2500base-X, but incorrectly report // 2500MBd NRZ in their EEPROM SFP_QUIRK_M("Lantech", "8330-262D-E", sfp_quirk_2500basex), -@@ -2589,7 +2592,8 @@ static void sfp_sm_main(struct sfp *sfp, +@@ -2590,7 +2593,8 @@ static void sfp_sm_main(struct sfp *sfp, * or t_start_up, so assume there is a fault. */ sfp_sm_fault(sfp, SFP_S_INIT_TX_FAULT, @@ -46,7 +46,7 @@ Signed-off-by: Daniel Golle } else if (event == SFP_E_TIMEOUT || event == SFP_E_TX_CLEAR) { init_done: /* Create mdiobus and start trying for PHY */ -@@ -2843,10 +2847,12 @@ static void sfp_check_state(struct sfp * +@@ -2844,10 +2848,12 @@ static void sfp_check_state(struct sfp * mutex_lock(&sfp->st_mutex); state = sfp_get_state(sfp); changed = state ^ sfp->state; diff --git a/target/linux/generic/hack-6.6/901-debloat_sock_diag.patch b/target/linux/generic/hack-6.6/901-debloat_sock_diag.patch index acf72f442..4b1ea3c5a 100644 --- a/target/linux/generic/hack-6.6/901-debloat_sock_diag.patch +++ b/target/linux/generic/hack-6.6/901-debloat_sock_diag.patch @@ -105,8 +105,8 @@ Signed-off-by: Felix Fietkau #include #include -@@ -21,23 +20,6 @@ static int (*inet_rcv_compat)(struct sk_ - static DEFINE_MUTEX(sock_diag_table_mutex); +@@ -22,23 +21,6 @@ static const struct sock_diag_inet_compa + static struct workqueue_struct *broadcast_wq; -DEFINE_COOKIE(sock_cookie); diff --git a/target/linux/generic/hack-6.6/902-debloat_proc.patch b/target/linux/generic/hack-6.6/902-debloat_proc.patch index 691a60bcc..2c3eca255 100644 --- a/target/linux/generic/hack-6.6/902-debloat_proc.patch +++ b/target/linux/generic/hack-6.6/902-debloat_proc.patch @@ -246,7 +246,7 @@ Signed-off-by: Felix Fietkau &vmalloc_op, --- a/mm/vmstat.c +++ b/mm/vmstat.c -@@ -2135,10 +2135,12 @@ void __init init_mm_internals(void) +@@ -2136,10 +2136,12 @@ void __init init_mm_internals(void) start_shepherd_timer(); #endif #ifdef CONFIG_PROC_FS diff --git a/target/linux/generic/hack-6.6/920-device_tree_cmdline.patch b/target/linux/generic/hack-6.6/920-device_tree_cmdline.patch index 2a43ffb7a..1d78a9dc4 100644 --- a/target/linux/generic/hack-6.6/920-device_tree_cmdline.patch +++ b/target/linux/generic/hack-6.6/920-device_tree_cmdline.patch @@ -9,7 +9,7 @@ Subject: [PATCH] of/ftd: add device tree cmdline --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c -@@ -1185,6 +1185,9 @@ int __init early_init_dt_scan_chosen(cha +@@ -1186,6 +1186,9 @@ int __init early_init_dt_scan_chosen(cha p = of_get_flat_dt_prop(node, "bootargs", &l); if (p != NULL && l > 0) strscpy(cmdline, p, min(l, COMMAND_LINE_SIZE)); diff --git a/target/linux/generic/hack-6.6/930-Revert-Revert-Revert-driver-core-Set-fw_devlink-on-b.patch b/target/linux/generic/hack-6.6/930-Revert-Revert-Revert-driver-core-Set-fw_devlink-on-b.patch index 1c5fb11ff..85a19027f 100644 --- a/target/linux/generic/hack-6.6/930-Revert-Revert-Revert-driver-core-Set-fw_devlink-on-b.patch +++ b/target/linux/generic/hack-6.6/930-Revert-Revert-Revert-driver-core-Set-fw_devlink-on-b.patch @@ -19,7 +19,7 @@ Signed-off-by: Rafał Miłecki --- a/drivers/base/core.c +++ b/drivers/base/core.c -@@ -1657,7 +1657,7 @@ static void device_links_purge(struct de +@@ -1658,7 +1658,7 @@ static void device_links_purge(struct de #define FW_DEVLINK_FLAGS_RPM (FW_DEVLINK_FLAGS_ON | \ DL_FLAG_PM_RUNTIME) diff --git a/target/linux/generic/pending-6.6/203-kallsyms_uncompressed.patch b/target/linux/generic/pending-6.6/203-kallsyms_uncompressed.patch index c23811ed3..94b22603d 100644 --- a/target/linux/generic/pending-6.6/203-kallsyms_uncompressed.patch +++ b/target/linux/generic/pending-6.6/203-kallsyms_uncompressed.patch @@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau --- a/init/Kconfig +++ b/init/Kconfig -@@ -1451,6 +1451,17 @@ config SYSCTL_ARCH_UNALIGN_ALLOW +@@ -1460,6 +1460,17 @@ config SYSCTL_ARCH_UNALIGN_ALLOW the unaligned access emulation. see arch/parisc/kernel/unaligned.c for reference diff --git a/target/linux/generic/pending-6.6/456-mmc-core-set-card-fwnode_handle.patch b/target/linux/generic/pending-6.6/456-mmc-core-set-card-fwnode_handle.patch index 2ee170d47..323c208e7 100644 --- a/target/linux/generic/pending-6.6/456-mmc-core-set-card-fwnode_handle.patch +++ b/target/linux/generic/pending-6.6/456-mmc-core-set-card-fwnode_handle.patch @@ -12,7 +12,7 @@ Signed-off-by: Daniel Golle --- a/drivers/mmc/core/bus.c +++ b/drivers/mmc/core/bus.c -@@ -364,6 +364,8 @@ int mmc_add_card(struct mmc_card *card) +@@ -366,6 +366,8 @@ int mmc_add_card(struct mmc_card *card) mmc_add_card_debugfs(card); card->dev.of_node = mmc_of_find_child_device(card->host, 0); diff --git a/target/linux/generic/pending-6.6/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/pending-6.6/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch index f754705dc..9cf9117d0 100644 --- a/target/linux/generic/pending-6.6/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch +++ b/target/linux/generic/pending-6.6/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch @@ -76,7 +76,7 @@ Signed-off-by: Jonas Gorski static inline const char *rtn_type(char *buf, size_t len, unsigned int t) --- a/net/ipv4/ipmr.c +++ b/net/ipv4/ipmr.c -@@ -180,6 +180,7 @@ static int ipmr_rule_action(struct fib_r +@@ -190,6 +190,7 @@ static int ipmr_rule_action(struct fib_r case FR_ACT_UNREACHABLE: return -ENETUNREACH; case FR_ACT_PROHIBIT: @@ -99,7 +99,7 @@ Signed-off-by: Jonas Gorski tb_id = fib_rule_get_table(rule, arg); --- a/net/ipv6/ip6mr.c +++ b/net/ipv6/ip6mr.c -@@ -170,6 +170,8 @@ static int ip6mr_rule_action(struct fib_ +@@ -180,6 +180,8 @@ static int ip6mr_rule_action(struct fib_ return -ENETUNREACH; case FR_ACT_PROHIBIT: return -EACCES; @@ -138,7 +138,7 @@ Signed-off-by: Jonas Gorski static const struct rt6_info ip6_blk_hole_entry_template = { .dst = { .__rcuref = RCUREF_INIT(1), -@@ -1040,6 +1054,7 @@ static const int fib6_prop[RTN_MAX + 1] +@@ -1043,6 +1057,7 @@ static const int fib6_prop[RTN_MAX + 1] [RTN_BLACKHOLE] = -EINVAL, [RTN_UNREACHABLE] = -EHOSTUNREACH, [RTN_PROHIBIT] = -EACCES, @@ -146,7 +146,7 @@ Signed-off-by: Jonas Gorski [RTN_THROW] = -EAGAIN, [RTN_NAT] = -EINVAL, [RTN_XRESOLVE] = -EINVAL, -@@ -1075,6 +1090,10 @@ static void ip6_rt_init_dst_reject(struc +@@ -1078,6 +1093,10 @@ static void ip6_rt_init_dst_reject(struc rt->dst.output = ip6_pkt_prohibit_out; rt->dst.input = ip6_pkt_prohibit; break; diff --git a/target/linux/generic/pending-6.6/700-netfilter-nft_flow_offload-handle-netdevice-events-f.patch b/target/linux/generic/pending-6.6/700-netfilter-nft_flow_offload-handle-netdevice-events-f.patch index 6b93f4777..750ca2928 100644 --- a/target/linux/generic/pending-6.6/700-netfilter-nft_flow_offload-handle-netdevice-events-f.patch +++ b/target/linux/generic/pending-6.6/700-netfilter-nft_flow_offload-handle-netdevice-events-f.patch @@ -10,7 +10,7 @@ Signed-off-by: Pablo Neira Ayuso --- a/net/netfilter/nf_flow_table_core.c +++ b/net/netfilter/nf_flow_table_core.c -@@ -662,6 +662,23 @@ static struct pernet_operations nf_flow_ +@@ -658,6 +658,23 @@ static struct pernet_operations nf_flow_ .exit_batch = nf_flow_table_pernet_exit, }; @@ -34,7 +34,7 @@ Signed-off-by: Pablo Neira Ayuso static int __init nf_flow_table_module_init(void) { int ret; -@@ -674,8 +691,14 @@ static int __init nf_flow_table_module_i +@@ -670,8 +687,14 @@ static int __init nf_flow_table_module_i if (ret) goto out_offload; @@ -49,7 +49,7 @@ Signed-off-by: Pablo Neira Ayuso out_offload: unregister_pernet_subsys(&nf_flow_table_net_ops); return ret; -@@ -683,6 +706,7 @@ out_offload: +@@ -679,6 +702,7 @@ out_offload: static void __exit nf_flow_table_module_exit(void) { diff --git a/target/linux/generic/pending-6.6/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch b/target/linux/generic/pending-6.6/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch index cfa3975c3..d13641064 100644 --- a/target/linux/generic/pending-6.6/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch +++ b/target/linux/generic/pending-6.6/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch @@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c -@@ -8377,7 +8377,7 @@ static int nft_register_flowtable_net_ho +@@ -8417,7 +8417,7 @@ static int nft_register_flowtable_net_ho err = flowtable->data.type->setup(&flowtable->data, hook->ops.dev, FLOW_BLOCK_BIND); diff --git a/target/linux/generic/pending-6.6/901-usb-add-more-modem-support.patch b/target/linux/generic/pending-6.6/901-usb-add-more-modem-support.patch index 8ff73680f..04a37cf10 100644 --- a/target/linux/generic/pending-6.6/901-usb-add-more-modem-support.patch +++ b/target/linux/generic/pending-6.6/901-usb-add-more-modem-support.patch @@ -1,6 +1,6 @@ --- a/drivers/net/usb/qmi_wwan.c +++ b/drivers/net/usb/qmi_wwan.c -@@ -1440,6 +1440,9 @@ static const struct usb_device_id produc +@@ -1441,6 +1441,9 @@ static const struct usb_device_id produc {QMI_QUIRK_SET_DTR(0x1546, 0x1342, 4)}, /* u-blox LARA-L6 */ {QMI_QUIRK_SET_DTR(0x33f8, 0x0104, 4)}, /* Rolling RW101 RMNET */ {QMI_FIXED_INTF(0x2dee, 0x4d22, 5)}, /* MeiG Smart SRM825L */ diff --git a/target/linux/generic/pending-6.6/920-mangle_bootargs.patch b/target/linux/generic/pending-6.6/920-mangle_bootargs.patch index 1d73cca11..36e7c1832 100644 --- a/target/linux/generic/pending-6.6/920-mangle_bootargs.patch +++ b/target/linux/generic/pending-6.6/920-mangle_bootargs.patch @@ -13,7 +13,7 @@ Signed-off-by: Imre Kaloz --- a/init/Kconfig +++ b/init/Kconfig -@@ -1811,6 +1811,15 @@ config DEBUG_RSEQ +@@ -1820,6 +1820,15 @@ config DEBUG_RSEQ If unsure, say N. diff --git a/target/linux/rockchip/patches-6.6/011-01-v6.13-arm64-dts-rockchip-Add-FriendlyARM-NanoPi-R3S-board.patch b/target/linux/rockchip/patches-6.6/011-01-v6.13-arm64-dts-rockchip-Add-FriendlyARM-NanoPi-R3S-board.patch index b14bc912e..eeba04222 100644 --- a/target/linux/rockchip/patches-6.6/011-01-v6.13-arm64-dts-rockchip-Add-FriendlyARM-NanoPi-R3S-board.patch +++ b/target/linux/rockchip/patches-6.6/011-01-v6.13-arm64-dts-rockchip-Add-FriendlyARM-NanoPi-R3S-board.patch @@ -27,14 +27,13 @@ Signed-off-by: Heiko Stuebner 2 files changed, 555 insertions(+) create mode 100644 arch/arm64/boot/dts/rockchip/rk3566-nanopi-r3s.dts ---- a/arch/arm64/boot/dts/rockchip/Makefile -+++ b/arch/arm64/boot/dts/rockchip/Makefile -@@ -90,6 +90,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-so - dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-soquartz-model-a.dtb - dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-box-demo.dtb - dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-lubancat-1.dtb -+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-nanopi-r3s.dtb - dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-bpi-r2-pro.dtb - dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb1-v10.dtb - dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-fastrhino-r66s.dtb - +--- a/arch/arm64/boot/dts/rockchip/Makefile ++++ b/arch/arm64/boot/dts/rockchip/Makefile +@@ -90,6 +90,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-so + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-soquartz-model-a.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-box-demo.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-lubancat-1.dtb ++dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-nanopi-r3s.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-bpi-r2-pro.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb1-v10.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-fastrhino-r66s.dtb diff --git a/target/linux/rockchip/patches-6.6/034-20-v6.7-drm-sched-Convert-the-GPU-scheduler-to-variable-number-of.patch b/target/linux/rockchip/patches-6.6/034-20-v6.7-drm-sched-Convert-the-GPU-scheduler-to-variable-number-of.patch index 7937f79f1..0a64ca429 100644 --- a/target/linux/rockchip/patches-6.6/034-20-v6.7-drm-sched-Convert-the-GPU-scheduler-to-variable-number-of.patch +++ b/target/linux/rockchip/patches-6.6/034-20-v6.7-drm-sched-Convert-the-GPU-scheduler-to-variable-number-of.patch @@ -181,9 +181,9 @@ Link: https://lore.kernel.org/r/20231023032251.164775-1-luben.tuikov@amd.com return -ENOENT; + } - job->entity = entity; - job->s_fence = drm_sched_fence_alloc(entity, owner); -@@ -671,7 +677,7 @@ void drm_sched_job_arm(struct drm_sched_ + /* + * We don't know for sure how the user has allocated. Thus, zero the +@@ -679,7 +685,7 @@ void drm_sched_job_arm(struct drm_sched_ sched = entity->rq->sched; job->sched = sched; @@ -192,7 +192,7 @@ Link: https://lore.kernel.org/r/20231023032251.164775-1-luben.tuikov@amd.com job->id = atomic64_inc_return(&sched->job_id_count); drm_sched_fence_init(job->s_fence, job->entity); -@@ -888,10 +894,10 @@ drm_sched_select_entity(struct drm_gpu_s +@@ -896,10 +902,10 @@ drm_sched_select_entity(struct drm_gpu_s return NULL; /* Kernel run queue has higher priority than normal run queue*/ @@ -206,7 +206,7 @@ Link: https://lore.kernel.org/r/20231023032251.164775-1-luben.tuikov@amd.com if (entity) break; } -@@ -1071,6 +1077,7 @@ static int drm_sched_main(void *param) +@@ -1079,6 +1085,7 @@ static int drm_sched_main(void *param) * * @sched: scheduler instance * @ops: backend operations for this scheduler @@ -214,7 +214,7 @@ Link: https://lore.kernel.org/r/20231023032251.164775-1-luben.tuikov@amd.com * @hw_submission: number of hw submissions that can be in flight * @hang_limit: number of times to allow a job to hang before dropping it * @timeout: timeout value in jiffies for the scheduler -@@ -1084,11 +1091,12 @@ static int drm_sched_main(void *param) +@@ -1092,11 +1099,12 @@ static int drm_sched_main(void *param) */ int drm_sched_init(struct drm_gpu_scheduler *sched, const struct drm_sched_backend_ops *ops, @@ -228,7 +228,7 @@ Link: https://lore.kernel.org/r/20231023032251.164775-1-luben.tuikov@amd.com sched->ops = ops; sched->hw_submission_limit = hw_submission; sched->name = name; -@@ -1097,8 +1105,36 @@ int drm_sched_init(struct drm_gpu_schedu +@@ -1105,8 +1113,36 @@ int drm_sched_init(struct drm_gpu_schedu sched->hang_limit = hang_limit; sched->score = score ? score : &sched->_score; sched->dev = dev; @@ -267,7 +267,7 @@ Link: https://lore.kernel.org/r/20231023032251.164775-1-luben.tuikov@amd.com init_waitqueue_head(&sched->wake_up_worker); init_waitqueue_head(&sched->job_scheduled); -@@ -1115,11 +1151,18 @@ int drm_sched_init(struct drm_gpu_schedu +@@ -1123,11 +1159,18 @@ int drm_sched_init(struct drm_gpu_schedu ret = PTR_ERR(sched->thread); sched->thread = NULL; DRM_DEV_ERROR(sched->dev, "Failed to create scheduler for %s.\n", name); @@ -287,7 +287,7 @@ Link: https://lore.kernel.org/r/20231023032251.164775-1-luben.tuikov@amd.com } EXPORT_SYMBOL(drm_sched_init); -@@ -1138,8 +1181,8 @@ void drm_sched_fini(struct drm_gpu_sched +@@ -1146,8 +1189,8 @@ void drm_sched_fini(struct drm_gpu_sched if (sched->thread) kthread_stop(sched->thread); @@ -298,7 +298,7 @@ Link: https://lore.kernel.org/r/20231023032251.164775-1-luben.tuikov@amd.com spin_lock(&rq->lock); list_for_each_entry(s_entity, &rq->entities, list) -@@ -1150,7 +1193,7 @@ void drm_sched_fini(struct drm_gpu_sched +@@ -1158,7 +1201,7 @@ void drm_sched_fini(struct drm_gpu_sched */ s_entity->stopped = true; spin_unlock(&rq->lock); @@ -307,7 +307,7 @@ Link: https://lore.kernel.org/r/20231023032251.164775-1-luben.tuikov@amd.com } /* Wakeup everyone stuck in drm_sched_entity_flush for this scheduler */ -@@ -1160,6 +1203,8 @@ void drm_sched_fini(struct drm_gpu_sched +@@ -1168,6 +1211,8 @@ void drm_sched_fini(struct drm_gpu_sched cancel_delayed_work_sync(&sched->work_tdr); sched->ready = false; @@ -316,7 +316,7 @@ Link: https://lore.kernel.org/r/20231023032251.164775-1-luben.tuikov@amd.com } EXPORT_SYMBOL(drm_sched_fini); -@@ -1186,9 +1231,10 @@ void drm_sched_increase_karma(struct drm +@@ -1194,9 +1239,10 @@ void drm_sched_increase_karma(struct drm if (bad->s_priority != DRM_SCHED_PRIORITY_KERNEL) { atomic_inc(&bad->karma); diff --git a/target/linux/rockchip/patches-6.6/034-21-v6.8-drm-sched-Add-drm_sched_wqueue_-helpers.patch b/target/linux/rockchip/patches-6.6/034-21-v6.8-drm-sched-Add-drm_sched_wqueue_-helpers.patch index d0265f5cd..29743a42c 100644 --- a/target/linux/rockchip/patches-6.6/034-21-v6.8-drm-sched-Add-drm_sched_wqueue_-helpers.patch +++ b/target/linux/rockchip/patches-6.6/034-21-v6.8-drm-sched-Add-drm_sched_wqueue_-helpers.patch @@ -92,7 +92,7 @@ Signed-off-by: Luben Tuikov --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c -@@ -4615,7 +4615,7 @@ bool amdgpu_device_has_job_running(struc +@@ -4652,7 +4652,7 @@ bool amdgpu_device_has_job_running(struc for (i = 0; i < AMDGPU_MAX_RINGS; ++i) { struct amdgpu_ring *ring = adev->rings[i]; @@ -101,7 +101,7 @@ Signed-off-by: Luben Tuikov continue; spin_lock(&ring->sched.job_list_lock); -@@ -4757,7 +4757,7 @@ int amdgpu_device_pre_asic_reset(struct +@@ -4794,7 +4794,7 @@ int amdgpu_device_pre_asic_reset(struct for (i = 0; i < AMDGPU_MAX_RINGS; ++i) { struct amdgpu_ring *ring = adev->rings[i]; @@ -110,7 +110,7 @@ Signed-off-by: Luben Tuikov continue; /* Clear job fence from fence drv to avoid force_completion -@@ -5297,7 +5297,7 @@ int amdgpu_device_gpu_recover(struct amd +@@ -5338,7 +5338,7 @@ int amdgpu_device_gpu_recover(struct amd for (i = 0; i < AMDGPU_MAX_RINGS; ++i) { struct amdgpu_ring *ring = tmp_adev->rings[i]; @@ -119,7 +119,7 @@ Signed-off-by: Luben Tuikov continue; drm_sched_stop(&ring->sched, job ? &job->base : NULL); -@@ -5372,7 +5372,7 @@ skip_hw_reset: +@@ -5413,7 +5413,7 @@ skip_hw_reset: for (i = 0; i < AMDGPU_MAX_RINGS; ++i) { struct amdgpu_ring *ring = tmp_adev->rings[i]; @@ -128,7 +128,7 @@ Signed-off-by: Luben Tuikov continue; drm_sched_start(&ring->sched, true); -@@ -5698,7 +5698,7 @@ pci_ers_result_t amdgpu_pci_error_detect +@@ -5739,7 +5739,7 @@ pci_ers_result_t amdgpu_pci_error_detect for (i = 0; i < AMDGPU_MAX_RINGS; ++i) { struct amdgpu_ring *ring = adev->rings[i]; @@ -137,7 +137,7 @@ Signed-off-by: Luben Tuikov continue; drm_sched_stop(&ring->sched, NULL); -@@ -5826,7 +5826,7 @@ void amdgpu_pci_resume(struct pci_dev *p +@@ -5867,7 +5867,7 @@ void amdgpu_pci_resume(struct pci_dev *p for (i = 0; i < AMDGPU_MAX_RINGS; ++i) { struct amdgpu_ring *ring = adev->rings[i]; @@ -188,7 +188,7 @@ Signed-off-by: Luben Tuikov } EXPORT_SYMBOL(drm_sched_start); -@@ -1252,3 +1252,38 @@ void drm_sched_increase_karma(struct drm +@@ -1260,3 +1260,38 @@ void drm_sched_increase_karma(struct drm } } EXPORT_SYMBOL(drm_sched_increase_karma); diff --git a/target/linux/rockchip/patches-6.6/034-22-v6.8-drm-sched-Convert-drm-scheduler-to-use-a-work-queue-rathe.patch b/target/linux/rockchip/patches-6.6/034-22-v6.8-drm-sched-Convert-drm-scheduler-to-use-a-work-queue-rathe.patch index 348b20d0d..32299a583 100644 --- a/target/linux/rockchip/patches-6.6/034-22-v6.8-drm-sched-Convert-drm-scheduler-to-use-a-work-queue-rathe.patch +++ b/target/linux/rockchip/patches-6.6/034-22-v6.8-drm-sched-Convert-drm-scheduler-to-use-a-work-queue-rathe.patch @@ -164,7 +164,7 @@ Signed-off-by: Luben Tuikov } /** -@@ -874,7 +883,7 @@ static bool drm_sched_can_queue(struct d +@@ -882,7 +891,7 @@ static bool drm_sched_can_queue(struct d void drm_sched_wakeup_if_can_queue(struct drm_gpu_scheduler *sched) { if (drm_sched_can_queue(sched)) @@ -173,7 +173,7 @@ Signed-off-by: Luben Tuikov } /** -@@ -985,60 +994,41 @@ drm_sched_pick_best(struct drm_gpu_sched +@@ -993,60 +1002,41 @@ drm_sched_pick_best(struct drm_gpu_sched EXPORT_SYMBOL(drm_sched_pick_best); /** @@ -256,7 +256,7 @@ Signed-off-by: Luben Tuikov } s_fence = sched_job->s_fence; -@@ -1069,7 +1059,9 @@ static int drm_sched_main(void *param) +@@ -1077,7 +1067,9 @@ static int drm_sched_main(void *param) wake_up(&sched->job_scheduled); } @@ -267,7 +267,7 @@ Signed-off-by: Luben Tuikov } /** -@@ -1077,6 +1069,8 @@ static int drm_sched_main(void *param) +@@ -1085,6 +1077,8 @@ static int drm_sched_main(void *param) * * @sched: scheduler instance * @ops: backend operations for this scheduler @@ -276,7 +276,7 @@ Signed-off-by: Luben Tuikov * @num_rqs: number of runqueues, one for each priority, up to DRM_SCHED_PRIORITY_COUNT * @hw_submission: number of hw submissions that can be in flight * @hang_limit: number of times to allow a job to hang before dropping it -@@ -1091,6 +1085,7 @@ static int drm_sched_main(void *param) +@@ -1099,6 +1093,7 @@ static int drm_sched_main(void *param) */ int drm_sched_init(struct drm_gpu_scheduler *sched, const struct drm_sched_backend_ops *ops, @@ -284,7 +284,7 @@ Signed-off-by: Luben Tuikov u32 num_rqs, uint32_t hw_submission, unsigned int hang_limit, long timeout, struct workqueue_struct *timeout_wq, atomic_t *score, const char *name, struct device *dev) -@@ -1121,14 +1116,22 @@ int drm_sched_init(struct drm_gpu_schedu +@@ -1129,14 +1124,22 @@ int drm_sched_init(struct drm_gpu_schedu return 0; } @@ -312,7 +312,7 @@ Signed-off-by: Luben Tuikov for (i = DRM_SCHED_PRIORITY_MIN; i < sched->num_rqs; i++) { sched->sched_rq[i] = kzalloc(sizeof(*sched->sched_rq[i]), GFP_KERNEL); if (!sched->sched_rq[i]) -@@ -1136,31 +1139,26 @@ int drm_sched_init(struct drm_gpu_schedu +@@ -1144,31 +1147,26 @@ int drm_sched_init(struct drm_gpu_schedu drm_sched_rq_init(sched, sched->sched_rq[i]); } @@ -349,7 +349,7 @@ Signed-off-by: Luben Tuikov drm_err(sched, "%s: Failed to setup GPU scheduler--out of memory\n", __func__); return ret; } -@@ -1178,8 +1176,7 @@ void drm_sched_fini(struct drm_gpu_sched +@@ -1186,8 +1184,7 @@ void drm_sched_fini(struct drm_gpu_sched struct drm_sched_entity *s_entity; int i; @@ -359,7 +359,7 @@ Signed-off-by: Luben Tuikov for (i = sched->num_rqs - 1; i >= DRM_SCHED_PRIORITY_MIN; i--) { struct drm_sched_rq *rq = sched->sched_rq[i]; -@@ -1202,6 +1199,8 @@ void drm_sched_fini(struct drm_gpu_sched +@@ -1210,6 +1207,8 @@ void drm_sched_fini(struct drm_gpu_sched /* Confirm no work left behind accessing device structures */ cancel_delayed_work_sync(&sched->work_tdr); @@ -368,7 +368,7 @@ Signed-off-by: Luben Tuikov sched->ready = false; kfree(sched->sched_rq); sched->sched_rq = NULL; -@@ -1262,7 +1261,7 @@ EXPORT_SYMBOL(drm_sched_increase_karma); +@@ -1270,7 +1269,7 @@ EXPORT_SYMBOL(drm_sched_increase_karma); */ bool drm_sched_wqueue_ready(struct drm_gpu_scheduler *sched) { @@ -377,7 +377,7 @@ Signed-off-by: Luben Tuikov } EXPORT_SYMBOL(drm_sched_wqueue_ready); -@@ -1273,7 +1272,8 @@ EXPORT_SYMBOL(drm_sched_wqueue_ready); +@@ -1281,7 +1280,8 @@ EXPORT_SYMBOL(drm_sched_wqueue_ready); */ void drm_sched_wqueue_stop(struct drm_gpu_scheduler *sched) { @@ -387,7 +387,7 @@ Signed-off-by: Luben Tuikov } EXPORT_SYMBOL(drm_sched_wqueue_stop); -@@ -1284,6 +1284,7 @@ EXPORT_SYMBOL(drm_sched_wqueue_stop); +@@ -1292,6 +1292,7 @@ EXPORT_SYMBOL(drm_sched_wqueue_stop); */ void drm_sched_wqueue_start(struct drm_gpu_scheduler *sched) { diff --git a/target/linux/rockchip/patches-6.6/034-23-v6.8-drm-sched-Split-free_job-into-own-work-item.patch b/target/linux/rockchip/patches-6.6/034-23-v6.8-drm-sched-Split-free_job-into-own-work-item.patch index a2efa0ff2..2f844df73 100644 --- a/target/linux/rockchip/patches-6.6/034-23-v6.8-drm-sched-Split-free_job-into-own-work-item.patch +++ b/target/linux/rockchip/patches-6.6/034-23-v6.8-drm-sched-Split-free_job-into-own-work-item.patch @@ -77,7 +77,7 @@ Signed-off-by: Luben Tuikov } /** -@@ -943,8 +969,10 @@ drm_sched_get_cleanup_job(struct drm_gpu +@@ -951,8 +977,10 @@ drm_sched_get_cleanup_job(struct drm_gpu typeof(*next), list); if (next) { @@ -90,7 +90,7 @@ Signed-off-by: Luben Tuikov /* start TO timer for next job */ drm_sched_start_timeout(sched); } -@@ -994,7 +1022,40 @@ drm_sched_pick_best(struct drm_gpu_sched +@@ -1002,7 +1030,40 @@ drm_sched_pick_best(struct drm_gpu_sched EXPORT_SYMBOL(drm_sched_pick_best); /** @@ -132,7 +132,7 @@ Signed-off-by: Luben Tuikov * * @w: run job work */ -@@ -1003,65 +1064,51 @@ static void drm_sched_run_job_work(struc +@@ -1011,65 +1072,51 @@ static void drm_sched_run_job_work(struc struct drm_gpu_scheduler *sched = container_of(w, struct drm_gpu_scheduler, work_run_job); struct drm_sched_entity *entity; @@ -228,7 +228,7 @@ Signed-off-by: Luben Tuikov } /** -@@ -1145,6 +1192,7 @@ int drm_sched_init(struct drm_gpu_schedu +@@ -1153,6 +1200,7 @@ int drm_sched_init(struct drm_gpu_schedu atomic_set(&sched->hw_rq_count, 0); INIT_DELAYED_WORK(&sched->work_tdr, drm_sched_job_timedout); INIT_WORK(&sched->work_run_job, drm_sched_run_job_work); @@ -236,7 +236,7 @@ Signed-off-by: Luben Tuikov atomic_set(&sched->_score, 0); atomic64_set(&sched->job_id_count, 0); sched->pause_submit = false; -@@ -1274,6 +1322,7 @@ void drm_sched_wqueue_stop(struct drm_gp +@@ -1282,6 +1330,7 @@ void drm_sched_wqueue_stop(struct drm_gp { WRITE_ONCE(sched->pause_submit, true); cancel_work_sync(&sched->work_run_job); @@ -244,7 +244,7 @@ Signed-off-by: Luben Tuikov } EXPORT_SYMBOL(drm_sched_wqueue_stop); -@@ -1286,5 +1335,6 @@ void drm_sched_wqueue_start(struct drm_g +@@ -1294,5 +1343,6 @@ void drm_sched_wqueue_start(struct drm_g { WRITE_ONCE(sched->pause_submit, false); queue_work(sched->submit_wq, &sched->work_run_job); diff --git a/target/linux/rockchip/patches-6.6/034-25-v6.8-drm-sched-Drop-suffix-from-drm_sched_wakeup_if_can_queue.patch b/target/linux/rockchip/patches-6.6/034-25-v6.8-drm-sched-Drop-suffix-from-drm_sched_wakeup_if_can_queue.patch index 8244617d1..39d036243 100644 --- a/target/linux/rockchip/patches-6.6/034-25-v6.8-drm-sched-Drop-suffix-from-drm_sched_wakeup_if_can_queue.patch +++ b/target/linux/rockchip/patches-6.6/034-25-v6.8-drm-sched-Drop-suffix-from-drm_sched_wakeup_if_can_queue.patch @@ -42,7 +42,7 @@ Signed-off-by: Luben Tuikov EXPORT_SYMBOL(drm_sched_entity_push_job); --- a/drivers/gpu/drm/scheduler/sched_main.c +++ b/drivers/gpu/drm/scheduler/sched_main.c -@@ -917,12 +917,12 @@ static bool drm_sched_can_queue(struct d +@@ -925,12 +925,12 @@ static bool drm_sched_can_queue(struct d } /** diff --git a/target/linux/rockchip/patches-6.6/034-26-v6.8-drm-sched-Qualify-drm_sched_wakeup-by.patch b/target/linux/rockchip/patches-6.6/034-26-v6.8-drm-sched-Qualify-drm_sched_wakeup-by.patch index 01cb59a78..3a4e6f189 100644 --- a/target/linux/rockchip/patches-6.6/034-26-v6.8-drm-sched-Qualify-drm_sched_wakeup-by.patch +++ b/target/linux/rockchip/patches-6.6/034-26-v6.8-drm-sched-Qualify-drm_sched_wakeup-by.patch @@ -40,7 +40,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20231110000123.72565-2-ltuik EXPORT_SYMBOL(drm_sched_entity_push_job); --- a/drivers/gpu/drm/scheduler/sched_main.c +++ b/drivers/gpu/drm/scheduler/sched_main.c -@@ -922,10 +922,12 @@ static bool drm_sched_can_queue(struct d +@@ -930,10 +930,12 @@ static bool drm_sched_can_queue(struct d * * Wake up the scheduler if we can queue jobs. */ diff --git a/target/linux/rockchip/patches-6.6/034-27-v6.8-drm-sched-implement-dynamic-job-flow-control.patch b/target/linux/rockchip/patches-6.6/034-27-v6.8-drm-sched-implement-dynamic-job-flow-control.patch index 926cc5f8a..d19384f5b 100644 --- a/target/linux/rockchip/patches-6.6/034-27-v6.8-drm-sched-implement-dynamic-job-flow-control.patch +++ b/target/linux/rockchip/patches-6.6/034-27-v6.8-drm-sched-implement-dynamic-job-flow-control.patch @@ -385,9 +385,9 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20231110001638.71750-1-dakr@ { if (!entity->rq) { /* This will most likely be followed by missing frames -@@ -692,7 +798,13 @@ int drm_sched_job_init(struct drm_sched_ - return -ENOENT; - } +@@ -700,7 +806,13 @@ int drm_sched_job_init(struct drm_sched_ + */ + memset(job, 0, sizeof(*job)); + if (unlikely(!credits)) { + pr_err("*ERROR* %s: credits cannot be 0!\n", __func__); @@ -399,7 +399,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20231110001638.71750-1-dakr@ job->s_fence = drm_sched_fence_alloc(entity, owner); if (!job->s_fence) return -ENOMEM; -@@ -905,20 +1017,9 @@ void drm_sched_job_cleanup(struct drm_sc +@@ -913,20 +1025,9 @@ void drm_sched_job_cleanup(struct drm_sc EXPORT_SYMBOL(drm_sched_job_cleanup); /** @@ -421,7 +421,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20231110001638.71750-1-dakr@ * * Wake up the scheduler if we can queue jobs. */ -@@ -926,7 +1027,7 @@ void drm_sched_wakeup(struct drm_gpu_sch +@@ -934,7 +1035,7 @@ void drm_sched_wakeup(struct drm_gpu_sch struct drm_sched_entity *entity) { if (drm_sched_entity_is_ready(entity)) @@ -430,7 +430,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20231110001638.71750-1-dakr@ drm_sched_run_job_queue(sched); } -@@ -935,7 +1036,11 @@ void drm_sched_wakeup(struct drm_gpu_sch +@@ -943,7 +1044,11 @@ void drm_sched_wakeup(struct drm_gpu_sch * * @sched: scheduler instance * @@ -443,7 +443,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20231110001638.71750-1-dakr@ */ static struct drm_sched_entity * drm_sched_select_entity(struct drm_gpu_scheduler *sched) -@@ -943,19 +1048,16 @@ drm_sched_select_entity(struct drm_gpu_s +@@ -951,19 +1056,16 @@ drm_sched_select_entity(struct drm_gpu_s struct drm_sched_entity *entity; int i; @@ -466,7 +466,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20231110001638.71750-1-dakr@ } /** -@@ -1102,7 +1204,7 @@ static void drm_sched_run_job_work(struc +@@ -1110,7 +1212,7 @@ static void drm_sched_run_job_work(struc s_fence = sched_job->s_fence; @@ -475,7 +475,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20231110001638.71750-1-dakr@ drm_sched_job_begin(sched_job); trace_drm_run_job(sched_job, entity); -@@ -1137,7 +1239,7 @@ static void drm_sched_run_job_work(struc +@@ -1145,7 +1247,7 @@ static void drm_sched_run_job_work(struc * @submit_wq: workqueue to use for submission. If NULL, an ordered wq is * allocated and used * @num_rqs: number of runqueues, one for each priority, up to DRM_SCHED_PRIORITY_COUNT @@ -484,7 +484,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20231110001638.71750-1-dakr@ * @hang_limit: number of times to allow a job to hang before dropping it * @timeout: timeout value in jiffies for the scheduler * @timeout_wq: workqueue to use for timeout work. If NULL, the system_wq is -@@ -1151,14 +1253,14 @@ static void drm_sched_run_job_work(struc +@@ -1159,14 +1261,14 @@ static void drm_sched_run_job_work(struc int drm_sched_init(struct drm_gpu_scheduler *sched, const struct drm_sched_backend_ops *ops, struct workqueue_struct *submit_wq, @@ -501,7 +501,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20231110001638.71750-1-dakr@ sched->name = name; sched->timeout = timeout; sched->timeout_wq = timeout_wq ? : system_wq; -@@ -1207,7 +1309,7 @@ int drm_sched_init(struct drm_gpu_schedu +@@ -1215,7 +1317,7 @@ int drm_sched_init(struct drm_gpu_schedu init_waitqueue_head(&sched->job_scheduled); INIT_LIST_HEAD(&sched->pending_list); spin_lock_init(&sched->job_list_lock); diff --git a/target/linux/rockchip/patches-6.6/035-v6.7-usb-dwc3-add-optional-PHY-interface-clocks.patch b/target/linux/rockchip/patches-6.6/035-v6.7-usb-dwc3-add-optional-PHY-interface-clocks.patch index 0b9e47da3..00ca1d401 100644 --- a/target/linux/rockchip/patches-6.6/035-v6.7-usb-dwc3-add-optional-PHY-interface-clocks.patch +++ b/target/linux/rockchip/patches-6.6/035-v6.7-usb-dwc3-add-optional-PHY-interface-clocks.patch @@ -71,7 +71,7 @@ Signed-off-by: Greg Kroah-Hartman --- a/drivers/usb/dwc3/core.h +++ b/drivers/usb/dwc3/core.h -@@ -997,6 +997,8 @@ struct dwc3_scratchpad_array { +@@ -998,6 +998,8 @@ struct dwc3_scratchpad_array { * @bus_clk: clock for accessing the registers * @ref_clk: reference clock * @susp_clk: clock used when the SS phy is in low power (S3) state @@ -80,7 +80,7 @@ Signed-off-by: Greg Kroah-Hartman * @reset: reset control * @regs: base address for our registers * @regs_size: address space size -@@ -1169,6 +1171,8 @@ struct dwc3 { +@@ -1170,6 +1172,8 @@ struct dwc3 { struct clk *bus_clk; struct clk *ref_clk; struct clk *susp_clk; diff --git a/target/linux/rockchip/patches-6.6/100-rockchip-use-system-LED-for-OpenWrt.patch b/target/linux/rockchip/patches-6.6/100-rockchip-use-system-LED-for-OpenWrt.patch index 492085d00..1c3402d0f 100644 --- a/target/linux/rockchip/patches-6.6/100-rockchip-use-system-LED-for-OpenWrt.patch +++ b/target/linux/rockchip/patches-6.6/100-rockchip-use-system-LED-for-OpenWrt.patch @@ -14,10 +14,9 @@ /delete-node/ display-subsystem; gpio-leds { - --- a/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5c.dts +++ b/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5c.dts -@@ -13,6 +13,13 @@ / { +@@ -13,6 +13,13 @@ model = "FriendlyElec NanoPi R5C"; compatible = "friendlyarm,nanopi-r5c", "rockchip,rk3568"; @@ -31,7 +30,7 @@ gpio-keys { compatible = "gpio-keys"; pinctrl-names = "default"; -@@ -32,27 +39,22 @@ gpio-leds { +@@ -32,27 +39,22 @@ pinctrl-0 = <&lan_led_pin>, <&power_led_pin>, <&wan_led_pin>, <&wlan_led_pin>; led-lan { @@ -63,10 +62,9 @@ gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_HIGH>; }; }; - --- a/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5s.dts +++ b/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5s.dts -@@ -15,6 +15,10 @@ / { +@@ -15,6 +15,10 @@ aliases { ethernet0 = &gmac0; @@ -77,7 +75,7 @@ }; gpio-leds { -@@ -23,29 +27,22 @@ gpio-leds { +@@ -23,29 +27,22 @@ pinctrl-0 = <&lan1_led_pin>, <&lan2_led_pin>, <&power_led_pin>, <&wan_led_pin>; led-lan1 { @@ -111,4 +109,3 @@ gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>; }; }; - diff --git a/target/linux/rockchip/patches-6.6/103-arm64-dts-rockchip-lower-mmc-speed.patch b/target/linux/rockchip/patches-6.6/103-arm64-dts-rockchip-lower-mmc-speed.patch index 286a913fb..a98e06267 100644 --- a/target/linux/rockchip/patches-6.6/103-arm64-dts-rockchip-lower-mmc-speed.patch +++ b/target/linux/rockchip/patches-6.6/103-arm64-dts-rockchip-lower-mmc-speed.patch @@ -22,7 +22,7 @@ Signed-off-by: David Bauer status = "okay"; --- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts +++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts -@@ -112,6 +112,11 @@ +@@ -119,6 +119,11 @@ status = "disabled"; }; diff --git a/target/linux/rockchip/patches-6.6/602-net-ethernet-r8169-add-devname-configuration-from-OF.patch b/target/linux/rockchip/patches-6.6/602-net-ethernet-r8169-add-devname-configuration-from-OF.patch index aaf04e6e3..e11a9a9d0 100644 --- a/target/linux/rockchip/patches-6.6/602-net-ethernet-r8169-add-devname-configuration-from-OF.patch +++ b/target/linux/rockchip/patches-6.6/602-net-ethernet-r8169-add-devname-configuration-from-OF.patch @@ -8,7 +8,7 @@ #include #include #include -@@ -5438,6 +5439,7 @@ static int rtl_init_one(struct pci_dev * +@@ -5444,6 +5445,7 @@ static int rtl_init_one(struct pci_dev * int jumbo_max, region, rc; enum mac_version chipset; struct net_device *dev; @@ -16,7 +16,7 @@ u32 txconfig; u16 xid; -@@ -5445,6 +5447,9 @@ static int rtl_init_one(struct pci_dev * +@@ -5451,6 +5453,9 @@ static int rtl_init_one(struct pci_dev * if (!dev) return -ENOMEM; diff --git a/target/linux/rockchip/patches-6.6/610-arm64-rockchip-add-OF-node-for-eth.patch b/target/linux/rockchip/patches-6.6/610-arm64-rockchip-add-OF-node-for-eth.patch index 3c99d1ab7..14116a891 100644 --- a/target/linux/rockchip/patches-6.6/610-arm64-rockchip-add-OF-node-for-eth.patch +++ b/target/linux/rockchip/patches-6.6/610-arm64-rockchip-add-OF-node-for-eth.patch @@ -82,7 +82,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 -@@ -76,6 +76,19 @@ +@@ -83,6 +83,19 @@ max-link-speed = <1>; num-lanes = <1>; vpcie3v3-supply = <&vcc3v3_sys>; @@ -102,7 +102,6 @@ Signed-off-by: David Bauer }; &pinctrl { - --- a/arch/arm64/boot/dts/rockchip/rk3568-fastrhino-r66s.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3568-fastrhino-r66s.dtsi @@ -363,6 +363,19 @@ @@ -196,7 +195,7 @@ Signed-off-by: David Bauer max-frequency = <200000000>; --- a/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5c.dts +++ b/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5c.dts -@@ -70,6 +70,20 @@ +@@ -72,6 +72,20 @@ reset-gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>; vpcie3v3-supply = <&vcc3v3_pcie>; status = "okay"; @@ -217,7 +216,7 @@ Signed-off-by: David Bauer }; &pcie3x2 { -@@ -77,6 +90,20 @@ +@@ -79,6 +93,20 @@ reset-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>; vpcie3v3-supply = <&vcc3v3_pcie>; status = "okay"; @@ -240,7 +239,7 @@ Signed-off-by: David Bauer &pinctrl { --- a/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5s.dts +++ b/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5s.dts -@@ -79,6 +79,7 @@ +@@ -76,6 +76,7 @@ reg = <1>; pinctrl-0 = <ð_phy0_reset_pin>; pinctrl-names = "default"; @@ -248,7 +247,7 @@ Signed-off-by: David Bauer }; }; -@@ -86,6 +87,19 @@ +@@ -83,6 +84,19 @@ num-lanes = <1>; reset-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>; status = "okay"; @@ -268,7 +267,7 @@ Signed-off-by: David Bauer }; &pcie30phy { -@@ -98,6 +112,19 @@ +@@ -95,6 +109,19 @@ reset-gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>; vpcie3v3-supply = <&vcc3v3_pcie>; status = "okay";