kernel: bump 6.6 to 6.6.66
This commit is contained in:
parent
370b35db61
commit
6478e4145b
@ -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
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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))
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
@ -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
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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 */
|
||||||
|
@ -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;
|
||||||
|
@ -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);
|
||||||
|
@ -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
|
||||||
|
@ -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));
|
||||||
|
@ -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)
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
@ -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;
|
||||||
|
@ -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)
|
||||||
{
|
{
|
||||||
|
@ -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);
|
||||||
|
@ -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 */
|
||||||
|
@ -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.
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
@ -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)
|
||||||
{
|
{
|
||||||
|
@ -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);
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -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.
|
||||||
*/
|
*/
|
||||||
|
@ -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);
|
||||||
|
@ -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;
|
||||||
|
@ -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>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -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";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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 = <ð_phy0_reset_pin>;
|
pinctrl-0 = <ð_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";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user