kernel: bump 6.6 to 6.6.66

This commit is contained in:
DHDAXCW 2024-12-18 10:10:18 +08:00
parent 370b35db61
commit 6478e4145b
37 changed files with 119 additions and 123 deletions

View File

@ -1,2 +1,2 @@
LINUX_VERSION-6.6 = .63 LINUX_VERSION-6.6 = .66
LINUX_KERNEL_HASH-6.6.63 = d1054ab4803413efe2850f50f1a84349c091631ec50a1cf9e891d1b1f9061835 LINUX_KERNEL_HASH-6.6.66 = 9d757937c4661c2f512c62641b74ef74eff9bb13dc5dbcbaaa108c21152f1e52

View File

@ -296,7 +296,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static void r8168fp_adjust_ocp_cmd(struct rtl8169_private *tp, u32 *cmd, int type) static void r8168fp_adjust_ocp_cmd(struct rtl8169_private *tp, u32 *cmd, int type)
{ {
/* based on RTL8168FP_OOBMAC_BASE in vendor driver */ /* 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->cfg9346_usage_lock);
raw_spin_lock_init(&tp->config25_lock); raw_spin_lock_init(&tp->config25_lock);
raw_spin_lock_init(&tp->mac_ocp_lock); raw_spin_lock_init(&tp->mac_ocp_lock);
@ -304,7 +304,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
dev->tstats = devm_netdev_alloc_pcpu_stats(&pdev->dev, dev->tstats = devm_netdev_alloc_pcpu_stats(&pdev->dev,
struct pcpu_sw_netstats); 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) if (rc)
return rc; return rc;

View File

@ -59,7 +59,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
obj-$(CONFIG_R8169) += r8169.o obj-$(CONFIG_R8169) += r8169.o
--- a/drivers/net/ethernet/realtek/r8169_main.c --- a/drivers/net/ethernet/realtek/r8169_main.c
+++ b/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) if (rc)
return rc; return rc;

View File

@ -311,7 +311,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
rtl_enable_rxdvgate(tp); rtl_enable_rxdvgate(tp);
fsleep(2000); fsleep(2000);
break; 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) { switch (tp->mac_version) {
case RTL_GIGA_MAC_VER_34: case RTL_GIGA_MAC_VER_34:
@ -321,7 +321,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
padto = max_t(unsigned int, padto, ETH_ZLEN); padto = max_t(unsigned int, padto, ETH_ZLEN);
break; break;
default: 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: case RTL_GIGA_MAC_VER_40 ... RTL_GIGA_MAC_VER_48:
rtl_hw_init_8168g(tp); rtl_hw_init_8168g(tp);
break; break;

View File

@ -225,7 +225,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
void r8169_get_led_name(struct rtl8169_private *tp, int idx, void r8169_get_led_name(struct rtl8169_private *tp, int idx,
char *buf, int buf_len) 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) if (rc)
return rc; return rc;

View File

@ -124,7 +124,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
u32 ocp_base; 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); cancel_work_sync(&tp->wk.work);
@ -133,7 +133,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
unregister_netdev(tp->dev); unregister_netdev(tp->dev);
if (tp->dash_type != RTL_DASH_NONE) 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 (IS_ENABLED(CONFIG_R8169_LEDS)) {
if (rtl_is_8125(tp)) if (rtl_is_8125(tp))

View File

@ -19,7 +19,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- a/drivers/net/ethernet/realtek/r8169_main.c --- a/drivers/net/ethernet/realtek/r8169_main.c
+++ b/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); cancel_work_sync(&tp->wk.work);

View File

@ -141,7 +141,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (err) if (err)
--- a/scripts/mod/modpost.c --- a/scripts/mod/modpost.c
+++ b/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); symname = remove_dot(info.strtab + sym->st_name);
handle_symbol(mod, &info, sym, symname); handle_symbol(mod, &info, sym, symname);
@ -151,7 +151,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
} }
check_sec_ref(mod, &info); 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_SALT;\n");
buf_printf(b, "BUILD_LTO_INFO;\n"); buf_printf(b, "BUILD_LTO_INFO;\n");
buf_printf(b, "\n"); buf_printf(b, "\n");
@ -162,7 +162,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
buf_printf(b, "\n"); buf_printf(b, "\n");
buf_printf(b, "__visible struct module __this_module\n"); buf_printf(b, "__visible struct module __this_module\n");
buf_printf(b, "__section(\".gnu.linkonce.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, "\t.arch = MODULE_ARCH_INIT,\n");
buf_printf(b, "};\n"); buf_printf(b, "};\n");
@ -173,7 +173,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
buf_printf(b, buf_printf(b,
"\n" "\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" "MODULE_INFO(retpoline, \"Y\");\n"
"#endif\n"); "#endif\n");
@ -184,7 +184,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (strstarts(mod->name, "tools/testing")) if (strstarts(mod->name, "tools/testing"))
buf_printf(b, "\nMODULE_INFO(test, \"Y\");\n"); 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) static void add_srcversion(struct buffer *b, struct module *mod)
{ {
@ -198,7 +198,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
} }
static void write_buf(struct buffer *b, const char *fname) 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_exported_symbols(&buf, mod);
add_versions(&buf, mod); add_versions(&buf, mod);
add_depends(&buf, mod); add_depends(&buf, mod);

View File

@ -10,7 +10,7 @@ Subject: [PATCH] Kconfig: add tristate for OID and ASNI string
--- a/init/Kconfig --- a/init/Kconfig
+++ b/init/Kconfig +++ b/init/Kconfig
@@ -1993,7 +1993,7 @@ config PADATA @@ -2002,7 +2002,7 @@ config PADATA
bool bool
config ASN1 config ASN1

View File

@ -137,7 +137,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#include <linux/mutex.h> #include <linux/mutex.h>
#include <linux/err.h> #include <linux/err.h>
#include <linux/property.h> #include <linux/property.h>
@@ -3470,3 +3471,5 @@ static int __init regmap_initcall(void) @@ -3483,3 +3484,5 @@ static int __init regmap_initcall(void)
return 0; return 0;
} }
postcore_initcall(regmap_initcall); postcore_initcall(regmap_initcall);

View File

@ -758,7 +758,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#include <net/netfilter/nf_flow_table.h> #include <net/netfilter/nf_flow_table.h>
#include <net/netfilter/nf_conntrack.h> #include <net/netfilter/nf_conntrack.h>
#include <net/netfilter/nf_conntrack_core.h> #include <net/netfilter/nf_conntrack_core.h>
@@ -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); EXPORT_SYMBOL_GPL(flow_offload_lookup);
@ -768,7 +768,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
void (*iter)(struct nf_flowtable *flowtable, void (*iter)(struct nf_flowtable *flowtable,
struct flow_offload *flow, void *data), struct flow_offload *flow, void *data),
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); nf_flow_offload_stats(flow_table, flow);
} }
} }

View File

@ -10,7 +10,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support
--- a/drivers/net/usb/qmi_wwan.c --- a/drivers/net/usb/qmi_wwan.c
+++ b/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), USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0x581d, USB_CLASS_VENDOR_SPEC, 1, 7),
.driver_info = (unsigned long)&qmi_wwan_info, .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, + .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, 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, 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, 0x0620)}, /* Quectel EM160R-GL */
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0800)}, /* Quectel RM500Q-GL */ {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0800)}, /* Quectel RM500Q-GL */
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0801)}, /* Quectel RM520N */ {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0801)}, /* Quectel RM520N */

View File

@ -26,7 +26,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
--- a/drivers/net/phy/sfp.c --- a/drivers/net/phy/sfp.c
+++ b/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 // FS 2.5G Base-T
SFP_QUIRK_M("FS", "SFP-2.5G-T", sfp_quirk_oem_2_5g), SFP_QUIRK_M("FS", "SFP-2.5G-T", sfp_quirk_oem_2_5g),
@ -36,7 +36,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
// Lantech 8330-262D-E can operate at 2500base-X, but incorrectly report // Lantech 8330-262D-E can operate at 2500base-X, but incorrectly report
// 2500MBd NRZ in their EEPROM // 2500MBd NRZ in their EEPROM
SFP_QUIRK_M("Lantech", "8330-262D-E", sfp_quirk_2500basex), 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. * or t_start_up, so assume there is a fault.
*/ */
sfp_sm_fault(sfp, SFP_S_INIT_TX_FAULT, sfp_sm_fault(sfp, SFP_S_INIT_TX_FAULT,
@ -46,7 +46,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
} else if (event == SFP_E_TIMEOUT || event == SFP_E_TX_CLEAR) { } else if (event == SFP_E_TIMEOUT || event == SFP_E_TX_CLEAR) {
init_done: init_done:
/* Create mdiobus and start trying for PHY */ /* 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); mutex_lock(&sfp->st_mutex);
state = sfp_get_state(sfp); state = sfp_get_state(sfp);
changed = state ^ sfp->state; changed = state ^ sfp->state;

View File

@ -105,8 +105,8 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#include <linux/inet_diag.h> #include <linux/inet_diag.h>
#include <linux/sock_diag.h> #include <linux/sock_diag.h>
@@ -21,23 +20,6 @@ static int (*inet_rcv_compat)(struct sk_ @@ -22,23 +21,6 @@ static const struct sock_diag_inet_compa
static DEFINE_MUTEX(sock_diag_table_mutex);
static struct workqueue_struct *broadcast_wq; static struct workqueue_struct *broadcast_wq;
-DEFINE_COOKIE(sock_cookie); -DEFINE_COOKIE(sock_cookie);

View File

@ -246,7 +246,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
&vmalloc_op, &vmalloc_op,
--- a/mm/vmstat.c --- a/mm/vmstat.c
+++ b/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(); start_shepherd_timer();
#endif #endif
#ifdef CONFIG_PROC_FS #ifdef CONFIG_PROC_FS

View File

@ -9,7 +9,7 @@ Subject: [PATCH] of/ftd: add device tree cmdline
--- a/drivers/of/fdt.c --- a/drivers/of/fdt.c
+++ b/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); p = of_get_flat_dt_prop(node, "bootargs", &l);
if (p != NULL && l > 0) if (p != NULL && l > 0)
strscpy(cmdline, p, min(l, COMMAND_LINE_SIZE)); strscpy(cmdline, p, min(l, COMMAND_LINE_SIZE));

View File

@ -19,7 +19,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
--- a/drivers/base/core.c --- a/drivers/base/core.c
+++ b/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 | \ #define FW_DEVLINK_FLAGS_RPM (FW_DEVLINK_FLAGS_ON | \
DL_FLAG_PM_RUNTIME) DL_FLAG_PM_RUNTIME)

View File

@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/init/Kconfig --- a/init/Kconfig
+++ b/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. the unaligned access emulation.
see arch/parisc/kernel/unaligned.c for reference see arch/parisc/kernel/unaligned.c for reference

View File

@ -12,7 +12,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
--- a/drivers/mmc/core/bus.c --- a/drivers/mmc/core/bus.c
+++ b/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); mmc_add_card_debugfs(card);
card->dev.of_node = mmc_of_find_child_device(card->host, 0); card->dev.of_node = mmc_of_find_child_device(card->host, 0);

View File

@ -76,7 +76,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
static inline const char *rtn_type(char *buf, size_t len, unsigned int t) static inline const char *rtn_type(char *buf, size_t len, unsigned int t)
--- a/net/ipv4/ipmr.c --- a/net/ipv4/ipmr.c
+++ b/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: case FR_ACT_UNREACHABLE:
return -ENETUNREACH; return -ENETUNREACH;
case FR_ACT_PROHIBIT: case FR_ACT_PROHIBIT:
@ -99,7 +99,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
tb_id = fib_rule_get_table(rule, arg); tb_id = fib_rule_get_table(rule, arg);
--- a/net/ipv6/ip6mr.c --- a/net/ipv6/ip6mr.c
+++ b/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; return -ENETUNREACH;
case FR_ACT_PROHIBIT: case FR_ACT_PROHIBIT:
return -EACCES; return -EACCES;
@ -138,7 +138,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
static const struct rt6_info ip6_blk_hole_entry_template = { static const struct rt6_info ip6_blk_hole_entry_template = {
.dst = { .dst = {
.__rcuref = RCUREF_INIT(1), .__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_BLACKHOLE] = -EINVAL,
[RTN_UNREACHABLE] = -EHOSTUNREACH, [RTN_UNREACHABLE] = -EHOSTUNREACH,
[RTN_PROHIBIT] = -EACCES, [RTN_PROHIBIT] = -EACCES,
@ -146,7 +146,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
[RTN_THROW] = -EAGAIN, [RTN_THROW] = -EAGAIN,
[RTN_NAT] = -EINVAL, [RTN_NAT] = -EINVAL,
[RTN_XRESOLVE] = -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.output = ip6_pkt_prohibit_out;
rt->dst.input = ip6_pkt_prohibit; rt->dst.input = ip6_pkt_prohibit;
break; break;

View File

@ -10,7 +10,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
--- a/net/netfilter/nf_flow_table_core.c --- a/net/netfilter/nf_flow_table_core.c
+++ b/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, .exit_batch = nf_flow_table_pernet_exit,
}; };
@ -34,7 +34,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
static int __init nf_flow_table_module_init(void) static int __init nf_flow_table_module_init(void)
{ {
int ret; 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) if (ret)
goto out_offload; goto out_offload;
@ -49,7 +49,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
out_offload: out_offload:
unregister_pernet_subsys(&nf_flow_table_net_ops); unregister_pernet_subsys(&nf_flow_table_net_ops);
return ret; return ret;
@@ -683,6 +706,7 @@ out_offload: @@ -679,6 +702,7 @@ out_offload:
static void __exit nf_flow_table_module_exit(void) static void __exit nf_flow_table_module_exit(void)
{ {

View File

@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/netfilter/nf_tables_api.c --- a/net/netfilter/nf_tables_api.c
+++ b/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, err = flowtable->data.type->setup(&flowtable->data,
hook->ops.dev, hook->ops.dev,
FLOW_BLOCK_BIND); FLOW_BLOCK_BIND);

View File

@ -1,6 +1,6 @@
--- a/drivers/net/usb/qmi_wwan.c --- a/drivers/net/usb/qmi_wwan.c
+++ b/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(0x1546, 0x1342, 4)}, /* u-blox LARA-L6 */
{QMI_QUIRK_SET_DTR(0x33f8, 0x0104, 4)}, /* Rolling RW101 RMNET */ {QMI_QUIRK_SET_DTR(0x33f8, 0x0104, 4)}, /* Rolling RW101 RMNET */
{QMI_FIXED_INTF(0x2dee, 0x4d22, 5)}, /* MeiG Smart SRM825L */ {QMI_FIXED_INTF(0x2dee, 0x4d22, 5)}, /* MeiG Smart SRM825L */

View File

@ -13,7 +13,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
--- a/init/Kconfig --- a/init/Kconfig
+++ b/init/Kconfig +++ b/init/Kconfig
@@ -1811,6 +1811,15 @@ config DEBUG_RSEQ @@ -1820,6 +1820,15 @@ config DEBUG_RSEQ
If unsure, say N. If unsure, say N.

View File

@ -27,14 +27,13 @@ Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2 files changed, 555 insertions(+) 2 files changed, 555 insertions(+)
create mode 100644 arch/arm64/boot/dts/rockchip/rk3566-nanopi-r3s.dts create mode 100644 arch/arm64/boot/dts/rockchip/rk3566-nanopi-r3s.dts
--- a/arch/arm64/boot/dts/rockchip/Makefile --- a/arch/arm64/boot/dts/rockchip/Makefile
+++ b/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile
@@ -90,6 +90,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-so @@ -90,6 +90,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-so
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-soquartz-model-a.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-soquartz-model-a.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-box-demo.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-box-demo.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-lubancat-1.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-lubancat-1.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-nanopi-r3s.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-nanopi-r3s.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-bpi-r2-pro.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-bpi-r2-pro.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb1-v10.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb1-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-fastrhino-r66s.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-fastrhino-r66s.dtb

View File

@ -181,9 +181,9 @@ Link: https://lore.kernel.org/r/20231023032251.164775-1-luben.tuikov@amd.com
return -ENOENT; return -ENOENT;
+ } + }
job->entity = entity; /*
job->s_fence = drm_sched_fence_alloc(entity, owner); * We don't know for sure how the user has allocated. Thus, zero the
@@ -671,7 +677,7 @@ void drm_sched_job_arm(struct drm_sched_ @@ -679,7 +685,7 @@ void drm_sched_job_arm(struct drm_sched_
sched = entity->rq->sched; sched = entity->rq->sched;
job->sched = 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); job->id = atomic64_inc_return(&sched->job_id_count);
drm_sched_fence_init(job->s_fence, job->entity); 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; return NULL;
/* Kernel run queue has higher priority than normal run queue*/ /* 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) if (entity)
break; 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 * @sched: scheduler instance
* @ops: backend operations for this scheduler * @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 * @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 * @hang_limit: number of times to allow a job to hang before dropping it
* @timeout: timeout value in jiffies for the scheduler * @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, int drm_sched_init(struct drm_gpu_scheduler *sched,
const struct drm_sched_backend_ops *ops, 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->ops = ops;
sched->hw_submission_limit = hw_submission; sched->hw_submission_limit = hw_submission;
sched->name = name; 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->hang_limit = hang_limit;
sched->score = score ? score : &sched->_score; sched->score = score ? score : &sched->_score;
sched->dev = dev; 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->wake_up_worker);
init_waitqueue_head(&sched->job_scheduled); 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); ret = PTR_ERR(sched->thread);
sched->thread = NULL; sched->thread = NULL;
DRM_DEV_ERROR(sched->dev, "Failed to create scheduler for %s.\n", name); 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); 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) if (sched->thread)
kthread_stop(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); spin_lock(&rq->lock);
list_for_each_entry(s_entity, &rq->entities, list) 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; s_entity->stopped = true;
spin_unlock(&rq->lock); 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 */ /* 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); cancel_delayed_work_sync(&sched->work_tdr);
sched->ready = false; 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); 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) { if (bad->s_priority != DRM_SCHED_PRIORITY_KERNEL) {
atomic_inc(&bad->karma); atomic_inc(&bad->karma);

View File

@ -92,7 +92,7 @@ Signed-off-by: Luben Tuikov <ltuikov89@gmail.com>
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/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) { for (i = 0; i < AMDGPU_MAX_RINGS; ++i) {
struct amdgpu_ring *ring = adev->rings[i]; struct amdgpu_ring *ring = adev->rings[i];
@ -101,7 +101,7 @@ Signed-off-by: Luben Tuikov <ltuikov89@gmail.com>
continue; continue;
spin_lock(&ring->sched.job_list_lock); 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) { for (i = 0; i < AMDGPU_MAX_RINGS; ++i) {
struct amdgpu_ring *ring = adev->rings[i]; struct amdgpu_ring *ring = adev->rings[i];
@ -110,7 +110,7 @@ Signed-off-by: Luben Tuikov <ltuikov89@gmail.com>
continue; continue;
/* Clear job fence from fence drv to avoid force_completion /* 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) { for (i = 0; i < AMDGPU_MAX_RINGS; ++i) {
struct amdgpu_ring *ring = tmp_adev->rings[i]; struct amdgpu_ring *ring = tmp_adev->rings[i];
@ -119,7 +119,7 @@ Signed-off-by: Luben Tuikov <ltuikov89@gmail.com>
continue; continue;
drm_sched_stop(&ring->sched, job ? &job->base : NULL); 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) { for (i = 0; i < AMDGPU_MAX_RINGS; ++i) {
struct amdgpu_ring *ring = tmp_adev->rings[i]; struct amdgpu_ring *ring = tmp_adev->rings[i];
@ -128,7 +128,7 @@ Signed-off-by: Luben Tuikov <ltuikov89@gmail.com>
continue; continue;
drm_sched_start(&ring->sched, true); 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) { for (i = 0; i < AMDGPU_MAX_RINGS; ++i) {
struct amdgpu_ring *ring = adev->rings[i]; struct amdgpu_ring *ring = adev->rings[i];
@ -137,7 +137,7 @@ Signed-off-by: Luben Tuikov <ltuikov89@gmail.com>
continue; continue;
drm_sched_stop(&ring->sched, NULL); 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) { for (i = 0; i < AMDGPU_MAX_RINGS; ++i) {
struct amdgpu_ring *ring = adev->rings[i]; struct amdgpu_ring *ring = adev->rings[i];
@ -188,7 +188,7 @@ Signed-off-by: Luben Tuikov <ltuikov89@gmail.com>
} }
EXPORT_SYMBOL(drm_sched_start); 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); EXPORT_SYMBOL(drm_sched_increase_karma);

View File

@ -164,7 +164,7 @@ Signed-off-by: Luben Tuikov <ltuikov89@gmail.com>
} }
/** /**
@@ -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) void drm_sched_wakeup_if_can_queue(struct drm_gpu_scheduler *sched)
{ {
if (drm_sched_can_queue(sched)) if (drm_sched_can_queue(sched))
@ -173,7 +173,7 @@ Signed-off-by: Luben Tuikov <ltuikov89@gmail.com>
} }
/** /**
@@ -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); EXPORT_SYMBOL(drm_sched_pick_best);
/** /**
@ -256,7 +256,7 @@ Signed-off-by: Luben Tuikov <ltuikov89@gmail.com>
} }
s_fence = sched_job->s_fence; 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); wake_up(&sched->job_scheduled);
} }
@ -267,7 +267,7 @@ Signed-off-by: Luben Tuikov <ltuikov89@gmail.com>
} }
/** /**
@@ -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 * @sched: scheduler instance
* @ops: backend operations for this scheduler * @ops: backend operations for this scheduler
@ -276,7 +276,7 @@ Signed-off-by: Luben Tuikov <ltuikov89@gmail.com>
* @num_rqs: number of runqueues, one for each priority, up to DRM_SCHED_PRIORITY_COUNT * @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 * @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 * @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, int drm_sched_init(struct drm_gpu_scheduler *sched,
const struct drm_sched_backend_ops *ops, const struct drm_sched_backend_ops *ops,
@ -284,7 +284,7 @@ Signed-off-by: Luben Tuikov <ltuikov89@gmail.com>
u32 num_rqs, uint32_t hw_submission, unsigned int hang_limit, u32 num_rqs, uint32_t hw_submission, unsigned int hang_limit,
long timeout, struct workqueue_struct *timeout_wq, long timeout, struct workqueue_struct *timeout_wq,
atomic_t *score, const char *name, struct device *dev) 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; return 0;
} }
@ -312,7 +312,7 @@ Signed-off-by: Luben Tuikov <ltuikov89@gmail.com>
for (i = DRM_SCHED_PRIORITY_MIN; i < sched->num_rqs; i++) { for (i = DRM_SCHED_PRIORITY_MIN; i < sched->num_rqs; i++) {
sched->sched_rq[i] = kzalloc(sizeof(*sched->sched_rq[i]), GFP_KERNEL); sched->sched_rq[i] = kzalloc(sizeof(*sched->sched_rq[i]), GFP_KERNEL);
if (!sched->sched_rq[i]) 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]); drm_sched_rq_init(sched, sched->sched_rq[i]);
} }
@ -349,7 +349,7 @@ Signed-off-by: Luben Tuikov <ltuikov89@gmail.com>
drm_err(sched, "%s: Failed to setup GPU scheduler--out of memory\n", __func__); drm_err(sched, "%s: Failed to setup GPU scheduler--out of memory\n", __func__);
return ret; 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; struct drm_sched_entity *s_entity;
int i; int i;
@ -359,7 +359,7 @@ Signed-off-by: Luben Tuikov <ltuikov89@gmail.com>
for (i = sched->num_rqs - 1; i >= DRM_SCHED_PRIORITY_MIN; i--) { for (i = sched->num_rqs - 1; i >= DRM_SCHED_PRIORITY_MIN; i--) {
struct drm_sched_rq *rq = sched->sched_rq[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 */ /* Confirm no work left behind accessing device structures */
cancel_delayed_work_sync(&sched->work_tdr); cancel_delayed_work_sync(&sched->work_tdr);
@ -368,7 +368,7 @@ Signed-off-by: Luben Tuikov <ltuikov89@gmail.com>
sched->ready = false; sched->ready = false;
kfree(sched->sched_rq); kfree(sched->sched_rq);
sched->sched_rq = NULL; 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) bool drm_sched_wqueue_ready(struct drm_gpu_scheduler *sched)
{ {
@ -377,7 +377,7 @@ Signed-off-by: Luben Tuikov <ltuikov89@gmail.com>
} }
EXPORT_SYMBOL(drm_sched_wqueue_ready); 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) void drm_sched_wqueue_stop(struct drm_gpu_scheduler *sched)
{ {
@ -387,7 +387,7 @@ Signed-off-by: Luben Tuikov <ltuikov89@gmail.com>
} }
EXPORT_SYMBOL(drm_sched_wqueue_stop); 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) void drm_sched_wqueue_start(struct drm_gpu_scheduler *sched)
{ {

View File

@ -77,7 +77,7 @@ Signed-off-by: Luben Tuikov <ltuikov89@gmail.com>
} }
/** /**
@@ -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); typeof(*next), list);
if (next) { if (next) {
@ -90,7 +90,7 @@ Signed-off-by: Luben Tuikov <ltuikov89@gmail.com>
/* start TO timer for next job */ /* start TO timer for next job */
drm_sched_start_timeout(sched); 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); EXPORT_SYMBOL(drm_sched_pick_best);
/** /**
@ -132,7 +132,7 @@ Signed-off-by: Luben Tuikov <ltuikov89@gmail.com>
* *
* @w: run job work * @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 = struct drm_gpu_scheduler *sched =
container_of(w, struct drm_gpu_scheduler, work_run_job); container_of(w, struct drm_gpu_scheduler, work_run_job);
struct drm_sched_entity *entity; struct drm_sched_entity *entity;
@ -228,7 +228,7 @@ Signed-off-by: Luben Tuikov <ltuikov89@gmail.com>
} }
/** /**
@@ -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); atomic_set(&sched->hw_rq_count, 0);
INIT_DELAYED_WORK(&sched->work_tdr, drm_sched_job_timedout); INIT_DELAYED_WORK(&sched->work_tdr, drm_sched_job_timedout);
INIT_WORK(&sched->work_run_job, drm_sched_run_job_work); INIT_WORK(&sched->work_run_job, drm_sched_run_job_work);
@ -236,7 +236,7 @@ Signed-off-by: Luben Tuikov <ltuikov89@gmail.com>
atomic_set(&sched->_score, 0); atomic_set(&sched->_score, 0);
atomic64_set(&sched->job_id_count, 0); atomic64_set(&sched->job_id_count, 0);
sched->pause_submit = false; 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); WRITE_ONCE(sched->pause_submit, true);
cancel_work_sync(&sched->work_run_job); cancel_work_sync(&sched->work_run_job);
@ -244,7 +244,7 @@ Signed-off-by: Luben Tuikov <ltuikov89@gmail.com>
} }
EXPORT_SYMBOL(drm_sched_wqueue_stop); 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); WRITE_ONCE(sched->pause_submit, false);
queue_work(sched->submit_wq, &sched->work_run_job); queue_work(sched->submit_wq, &sched->work_run_job);

View File

@ -42,7 +42,7 @@ Signed-off-by: Luben Tuikov <ltuikov89@gmail.com>
EXPORT_SYMBOL(drm_sched_entity_push_job); EXPORT_SYMBOL(drm_sched_entity_push_job);
--- a/drivers/gpu/drm/scheduler/sched_main.c --- a/drivers/gpu/drm/scheduler/sched_main.c
+++ b/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
} }
/** /**

View File

@ -40,7 +40,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20231110000123.72565-2-ltuik
EXPORT_SYMBOL(drm_sched_entity_push_job); EXPORT_SYMBOL(drm_sched_entity_push_job);
--- a/drivers/gpu/drm/scheduler/sched_main.c --- a/drivers/gpu/drm/scheduler/sched_main.c
+++ b/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. * Wake up the scheduler if we can queue jobs.
*/ */

View File

@ -385,9 +385,9 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20231110001638.71750-1-dakr@
{ {
if (!entity->rq) { if (!entity->rq) {
/* This will most likely be followed by missing frames /* This will most likely be followed by missing frames
@@ -692,7 +798,13 @@ int drm_sched_job_init(struct drm_sched_ @@ -700,7 +806,13 @@ int drm_sched_job_init(struct drm_sched_
return -ENOENT; */
} memset(job, 0, sizeof(*job));
+ if (unlikely(!credits)) { + if (unlikely(!credits)) {
+ pr_err("*ERROR* %s: credits cannot be 0!\n", __func__); + 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); job->s_fence = drm_sched_fence_alloc(entity, owner);
if (!job->s_fence) if (!job->s_fence)
return -ENOMEM; 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); 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. * 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) struct drm_sched_entity *entity)
{ {
if (drm_sched_entity_is_ready(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); 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 * @sched: scheduler instance
* *
@ -443,7 +443,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20231110001638.71750-1-dakr@
*/ */
static struct drm_sched_entity * static struct drm_sched_entity *
drm_sched_select_entity(struct drm_gpu_scheduler *sched) 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; struct drm_sched_entity *entity;
int i; 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; 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); drm_sched_job_begin(sched_job);
trace_drm_run_job(sched_job, entity); 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 * @submit_wq: workqueue to use for submission. If NULL, an ordered wq is
* allocated and used * allocated and used
* @num_rqs: number of runqueues, one for each priority, up to DRM_SCHED_PRIORITY_COUNT * @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 * @hang_limit: number of times to allow a job to hang before dropping it
* @timeout: timeout value in jiffies for the scheduler * @timeout: timeout value in jiffies for the scheduler
* @timeout_wq: workqueue to use for timeout work. If NULL, the system_wq is * @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, int drm_sched_init(struct drm_gpu_scheduler *sched,
const struct drm_sched_backend_ops *ops, const struct drm_sched_backend_ops *ops,
struct workqueue_struct *submit_wq, struct workqueue_struct *submit_wq,
@ -501,7 +501,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20231110001638.71750-1-dakr@
sched->name = name; sched->name = name;
sched->timeout = timeout; sched->timeout = timeout;
sched->timeout_wq = timeout_wq ? : system_wq; 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_waitqueue_head(&sched->job_scheduled);
INIT_LIST_HEAD(&sched->pending_list); INIT_LIST_HEAD(&sched->pending_list);
spin_lock_init(&sched->job_list_lock); spin_lock_init(&sched->job_list_lock);

View File

@ -71,7 +71,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
--- a/drivers/usb/dwc3/core.h --- a/drivers/usb/dwc3/core.h
+++ b/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 * @bus_clk: clock for accessing the registers
* @ref_clk: reference clock * @ref_clk: reference clock
* @susp_clk: clock used when the SS phy is in low power (S3) state * @susp_clk: clock used when the SS phy is in low power (S3) state
@ -80,7 +80,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* @reset: reset control * @reset: reset control
* @regs: base address for our registers * @regs: base address for our registers
* @regs_size: address space size * @regs_size: address space size
@@ -1169,6 +1171,8 @@ struct dwc3 { @@ -1170,6 +1172,8 @@ struct dwc3 {
struct clk *bus_clk; struct clk *bus_clk;
struct clk *ref_clk; struct clk *ref_clk;
struct clk *susp_clk; struct clk *susp_clk;

View File

@ -14,10 +14,9 @@
/delete-node/ display-subsystem; /delete-node/ display-subsystem;
gpio-leds { gpio-leds {
--- a/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5c.dts --- a/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5c.dts
+++ b/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"; model = "FriendlyElec NanoPi R5C";
compatible = "friendlyarm,nanopi-r5c", "rockchip,rk3568"; compatible = "friendlyarm,nanopi-r5c", "rockchip,rk3568";
@ -31,7 +30,7 @@
gpio-keys { gpio-keys {
compatible = "gpio-keys"; compatible = "gpio-keys";
pinctrl-names = "default"; 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>; pinctrl-0 = <&lan_led_pin>, <&power_led_pin>, <&wan_led_pin>, <&wlan_led_pin>;
led-lan { led-lan {
@ -63,10 +62,9 @@
gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_HIGH>; gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_HIGH>;
}; };
}; };
--- a/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5s.dts --- a/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5s.dts
+++ b/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 { aliases {
ethernet0 = &gmac0; ethernet0 = &gmac0;
@ -77,7 +75,7 @@
}; };
gpio-leds { 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>; pinctrl-0 = <&lan1_led_pin>, <&lan2_led_pin>, <&power_led_pin>, <&wan_led_pin>;
led-lan1 { led-lan1 {
@ -111,4 +109,3 @@
gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>; gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>;
}; };
}; };

View File

@ -22,7 +22,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
status = "okay"; status = "okay";
--- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts --- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
+++ b/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"; status = "disabled";
}; };

View File

@ -8,7 +8,7 @@
#include <linux/tcp.h> #include <linux/tcp.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
#include <linux/dma-mapping.h> #include <linux/dma-mapping.h>
@@ -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; int jumbo_max, region, rc;
enum mac_version chipset; enum mac_version chipset;
struct net_device *dev; struct net_device *dev;
@ -16,7 +16,7 @@
u32 txconfig; u32 txconfig;
u16 xid; 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) if (!dev)
return -ENOMEM; return -ENOMEM;

View File

@ -82,7 +82,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
+}; +};
--- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts --- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
+++ b/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>; max-link-speed = <1>;
num-lanes = <1>; num-lanes = <1>;
vpcie3v3-supply = <&vcc3v3_sys>; vpcie3v3-supply = <&vcc3v3_sys>;
@ -102,7 +102,6 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
}; };
&pinctrl { &pinctrl {
--- a/arch/arm64/boot/dts/rockchip/rk3568-fastrhino-r66s.dtsi --- a/arch/arm64/boot/dts/rockchip/rk3568-fastrhino-r66s.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3568-fastrhino-r66s.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3568-fastrhino-r66s.dtsi
@@ -363,6 +363,19 @@ @@ -363,6 +363,19 @@
@ -196,7 +195,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
max-frequency = <200000000>; max-frequency = <200000000>;
--- a/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5c.dts --- a/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5c.dts
+++ b/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>; reset-gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
vpcie3v3-supply = <&vcc3v3_pcie>; vpcie3v3-supply = <&vcc3v3_pcie>;
status = "okay"; status = "okay";
@ -217,7 +216,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
}; };
&pcie3x2 { &pcie3x2 {
@@ -77,6 +90,20 @@ @@ -79,6 +93,20 @@
reset-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>; reset-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>;
vpcie3v3-supply = <&vcc3v3_pcie>; vpcie3v3-supply = <&vcc3v3_pcie>;
status = "okay"; status = "okay";
@ -240,7 +239,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
&pinctrl { &pinctrl {
--- a/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5s.dts --- a/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5s.dts
+++ b/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>; reg = <1>;
pinctrl-0 = <&eth_phy0_reset_pin>; pinctrl-0 = <&eth_phy0_reset_pin>;
pinctrl-names = "default"; pinctrl-names = "default";
@ -248,7 +247,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
}; };
}; };
@@ -86,6 +87,19 @@ @@ -83,6 +84,19 @@
num-lanes = <1>; num-lanes = <1>;
reset-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>; reset-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>;
status = "okay"; status = "okay";
@ -268,7 +267,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
}; };
&pcie30phy { &pcie30phy {
@@ -98,6 +112,19 @@ @@ -95,6 +109,19 @@
reset-gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>; reset-gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
vpcie3v3-supply = <&vcc3v3_pcie>; vpcie3v3-supply = <&vcc3v3_pcie>;
status = "okay"; status = "okay";