summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Audia2026-01-23 21:22:18 +0000
committerHauke Mehrtens2026-02-03 22:26:20 +0000
commit8dbd00d4cdb4fc6b6445865970a771c24fa00864 (patch)
tree9d23154a4b5ac70b2081741c6912201bb9dfc13f
parentbeb134292d66d5437b8b99f8fca60976aaf817a0 (diff)
downloadopenwrt-8dbd00d4cdb4fc6b6445865970a771c24fa00864.tar.gz
kernel: bump 6.12 to 6.12.67
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.67 Manually rebased: rockchip/patches-6.12/160-01-phy-rockchip-inno-usb2-Simplify-rockchip-usbgrf-handling.patch Build system: x86/64 Build-tested: flogic/glinet_gl-mt6000 Run-tested: flogic/glinet_gl-mt6000 Add it again. Signed-off-by: John Audia <therealgraysky@proton.me> Link: https://github.com/openwrt/openwrt/pull/21629 (cherry picked from commit 2228b7048c2c0dad0a011f3eba116cade84a6b95) Link: https://github.com/openwrt/openwrt/pull/21687 Link: https://github.com/openwrt/openwrt/pull/21825 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0087-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch4
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0231-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch16
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0277-mm-page_alloc-cma-introduce-a-customisable-threshold.patch4
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0348-usb-dwc3-Set-DMA-and-coherent-masks-early.patch18
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0413-drivers-usb-dwc3-add-FS-LS-bus-instance-parkmode-dis.patch6
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0519-numa-emulation-Check-emulated-zones-around-the-CMA-w.patch6
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0524-usb-dwc3-core-add-support-for-setting-NAK-enhancemen.patch6
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0685-nvme-pci-Disable-Host-Memory-Buffer-usage.patch6
-rw-r--r--target/linux/generic/hack-6.12/721-net-add-packet-mangeling.patch2
-rw-r--r--target/linux/generic/hack-6.12/902-debloat_proc.patch2
-rw-r--r--target/linux/generic/kernel-6.124
-rw-r--r--target/linux/generic/pending-6.12/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch2
-rw-r--r--target/linux/rockchip/patches-6.12/036-01-v6.13-phy-phy-rockchip-inno-usb2-Handle-failed-extcon-allocatio.patch4
-rw-r--r--target/linux/rockchip/patches-6.12/036-02-v6.13-phy-rockchip-inno-usb2-convert-clock-management-to-bulk.patch8
-rw-r--r--target/linux/rockchip/patches-6.12/036-03-v6.13-phy-rockchip-inno-usb2-Add-usb2-phys-support-for-rk3576.patch6
-rw-r--r--target/linux/rockchip/patches-6.12/160-01-phy-rockchip-inno-usb2-Simplify-rockchip-usbgrf-handling.patch30
-rw-r--r--target/linux/rockchip/patches-6.12/160-02-phy-rockchip-inno-usb2-Add-clkout_ctl_phy-support.patch2
-rw-r--r--target/linux/rockchip/patches-6.12/160-03-phy-rockchip-inno-usb2-Add-support-for-RK3528.patch6
18 files changed, 65 insertions, 67 deletions
diff --git a/target/linux/bcm27xx/patches-6.12/950-0087-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch b/target/linux/bcm27xx/patches-6.12/950-0087-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch
index 875dfdeca6..32e5eab786 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0087-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0087-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch
@@ -25,7 +25,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
module_param_named(mousepoll, hid_mousepoll_interval, uint, 0644);
MODULE_PARM_DESC(mousepoll, "Polling interval of mice");
-@@ -1117,7 +1117,9 @@ static int usbhid_start(struct hid_devic
+@@ -1132,7 +1132,9 @@ static int usbhid_start(struct hid_devic
*/
switch (hid->collection->usage) {
case HID_GD_MOUSE:
@@ -36,7 +36,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
interval = hid_mousepoll_interval;
break;
case HID_GD_JOYSTICK:
-@@ -1129,6 +1131,7 @@ static int usbhid_start(struct hid_devic
+@@ -1144,6 +1146,7 @@ static int usbhid_start(struct hid_devic
interval = hid_kbpoll_interval;
break;
}
diff --git a/target/linux/bcm27xx/patches-6.12/950-0231-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch b/target/linux/bcm27xx/patches-6.12/950-0231-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch
index 7145016cc4..c94cc72766 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0231-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0231-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch
@@ -315,7 +315,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
ddc = of_parse_phandle(dev->of_node, "ddc-i2c-bus", 0);
if (ddc) {
panel->ddc = of_find_i2c_adapter_by_node(ddc);
-@@ -2263,6 +2244,32 @@ static const struct panel_desc friendlya
+@@ -2264,6 +2245,32 @@ static const struct panel_desc friendlya
},
};
@@ -348,7 +348,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
static const struct drm_display_mode giantplus_gpg482739qs5_mode = {
.clock = 9000,
.hdisplay = 480,
-@@ -2443,6 +2450,38 @@ static const struct panel_desc innolux_a
+@@ -2444,6 +2451,38 @@ static const struct panel_desc innolux_a
.bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE,
};
@@ -387,7 +387,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
static const struct drm_display_mode innolux_at070tn92_mode = {
.clock = 33333,
.hdisplay = 800,
-@@ -3856,6 +3895,31 @@ static const struct panel_desc rocktech_
+@@ -3857,6 +3896,31 @@ static const struct panel_desc rocktech_
.connector_type = DRM_MODE_CONNECTOR_DPI,
};
@@ -419,7 +419,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
static const struct display_timing rocktech_rk070er9427_timing = {
.pixelclock = { 26400000, 33300000, 46800000 },
.hactive = { 800, 800, 800 },
-@@ -4800,6 +4864,9 @@ static const struct of_device_id platfor
+@@ -4801,6 +4865,9 @@ static const struct of_device_id platfor
.compatible = "friendlyarm,hd702e",
.data = &friendlyarm_hd702e,
}, {
@@ -429,7 +429,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
.compatible = "giantplus,gpg482739qs5",
.data = &giantplus_gpg482739qs5
}, {
-@@ -4821,6 +4888,9 @@ static const struct of_device_id platfor
+@@ -4822,6 +4889,9 @@ static const struct of_device_id platfor
.compatible = "innolux,at043tn24",
.data = &innolux_at043tn24,
}, {
@@ -439,7 +439,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
.compatible = "innolux,at070tn92",
.data = &innolux_at070tn92,
}, {
-@@ -4980,6 +5050,9 @@ static const struct of_device_id platfor
+@@ -4981,6 +5051,9 @@ static const struct of_device_id platfor
.compatible = "rocktech,rk043fn48h",
.data = &rocktech_rk043fn48h,
}, {
@@ -449,7 +449,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
.compatible = "rocktech,rk070er9427",
.data = &rocktech_rk070er9427,
}, {
-@@ -5336,6 +5409,9 @@ static const struct panel_desc_dsi osd10
+@@ -5337,6 +5410,9 @@ static const struct panel_desc_dsi osd10
.lanes = 4,
};
@@ -459,7 +459,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
static const struct of_device_id dsi_of_match[] = {
{
.compatible = "auo,b080uan01",
-@@ -5359,20 +5435,137 @@ static const struct of_device_id dsi_of_
+@@ -5360,20 +5436,137 @@ static const struct of_device_id dsi_of_
.compatible = "osddisplays,osd101t2045-53ts",
.data = &osd101t2045_53ts
}, {
diff --git a/target/linux/bcm27xx/patches-6.12/950-0277-mm-page_alloc-cma-introduce-a-customisable-threshold.patch b/target/linux/bcm27xx/patches-6.12/950-0277-mm-page_alloc-cma-introduce-a-customisable-threshold.patch
index 2c1cb09a6d..4fc8d93545 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0277-mm-page_alloc-cma-introduce-a-customisable-threshold.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0277-mm-page_alloc-cma-introduce-a-customisable-threshold.patch
@@ -20,7 +20,7 @@ Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
-@@ -207,6 +207,27 @@ EXPORT_SYMBOL(node_states);
+@@ -234,6 +234,27 @@ EXPORT_SYMBOL(node_states);
gfp_t gfp_allowed_mask __read_mostly = GFP_BOOT_MASK;
@@ -48,7 +48,7 @@ Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
#ifdef CONFIG_HUGETLB_PAGE_SIZE_VARIABLE
unsigned int pageblock_order __read_mostly;
#endif
-@@ -2265,12 +2286,13 @@ __rmqueue(struct zone *zone, unsigned in
+@@ -2292,12 +2313,13 @@ __rmqueue(struct zone *zone, unsigned in
if (IS_ENABLED(CONFIG_CMA)) {
/*
* Balance movable allocations between regular and CMA areas by
diff --git a/target/linux/bcm27xx/patches-6.12/950-0348-usb-dwc3-Set-DMA-and-coherent-masks-early.patch b/target/linux/bcm27xx/patches-6.12/950-0348-usb-dwc3-Set-DMA-and-coherent-masks-early.patch
index d93a73f7f6..936a3249a4 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0348-usb-dwc3-Set-DMA-and-coherent-masks-early.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0348-usb-dwc3-Set-DMA-and-coherent-masks-early.patch
@@ -212,7 +212,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
},
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
-@@ -1320,6 +1320,24 @@ static void dwc3_config_threshold(struct
+@@ -1322,6 +1322,24 @@ static void dwc3_config_threshold(struct
}
}
@@ -237,7 +237,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
/**
* dwc3_core_init - Low-level initialization of DWC3 Core
* @dwc: Pointer to our controller context structure
-@@ -1387,6 +1405,8 @@ static int dwc3_core_init(struct dwc3 *d
+@@ -1389,6 +1407,8 @@ static int dwc3_core_init(struct dwc3 *d
dwc3_config_soc_bus(dwc);
@@ -246,7 +246,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
ret = dwc3_phy_power_on(dwc);
if (ret)
goto err_exit_phy;
-@@ -1491,6 +1511,24 @@ static int dwc3_core_init(struct dwc3 *d
+@@ -1493,6 +1513,24 @@ static int dwc3_core_init(struct dwc3 *d
dwc3_writel(dwc->regs, DWC3_LLUCTL, reg);
}
@@ -271,7 +271,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
return 0;
err_power_off_phy:
-@@ -1676,6 +1714,7 @@ static void dwc3_get_properties(struct d
+@@ -1678,6 +1716,7 @@ static void dwc3_get_properties(struct d
u8 tx_thr_num_pkt_prd = 0;
u8 tx_max_burst_prd = 0;
u8 tx_fifo_resize_max_num;
@@ -279,7 +279,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
/* default to highest possible threshold */
lpm_nyet_threshold = 0xf;
-@@ -1696,6 +1735,9 @@ static void dwc3_get_properties(struct d
+@@ -1698,6 +1737,9 @@ static void dwc3_get_properties(struct d
*/
tx_fifo_resize_max_num = 6;
@@ -289,7 +289,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
dwc->maximum_speed = usb_get_maximum_speed(dev);
dwc->max_ssp_rate = usb_get_maximum_ssp_rate(dev);
dwc->dr_mode = usb_get_dr_mode(dev);
-@@ -1810,6 +1852,9 @@ static void dwc3_get_properties(struct d
+@@ -1812,6 +1854,9 @@ static void dwc3_get_properties(struct d
dwc->dis_split_quirk = device_property_read_bool(dev,
"snps,dis-split-quirk");
@@ -299,7 +299,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
dwc->lpm_nyet_threshold = lpm_nyet_threshold;
dwc->tx_de_emphasis = tx_de_emphasis;
-@@ -1827,6 +1872,8 @@ static void dwc3_get_properties(struct d
+@@ -1829,6 +1874,8 @@ static void dwc3_get_properties(struct d
dwc->tx_thr_num_pkt_prd = tx_thr_num_pkt_prd;
dwc->tx_max_burst_prd = tx_max_burst_prd;
@@ -308,7 +308,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
dwc->tx_fifo_resize_max_num = tx_fifo_resize_max_num;
}
-@@ -2185,6 +2232,12 @@ static int dwc3_probe(struct platform_de
+@@ -2187,6 +2234,12 @@ static int dwc3_probe(struct platform_de
if (IS_ERR(dwc->usb_psy))
return dev_err_probe(dev, PTR_ERR(dwc->usb_psy), "couldn't get usb power supply\n");
@@ -341,7 +341,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
* @hsphy_interface: "utmi" or "ulpi"
* @connected: true when we're connected to a host, false otherwise
* @softconnect: true when gadget connect is called, false when disconnect runs
-@@ -1337,6 +1341,7 @@ struct dwc3 {
+@@ -1338,6 +1342,7 @@ struct dwc3 {
u8 tx_max_burst_prd;
u8 tx_fifo_resize_max_num;
u8 clear_stall_protocol;
diff --git a/target/linux/bcm27xx/patches-6.12/950-0413-drivers-usb-dwc3-add-FS-LS-bus-instance-parkmode-dis.patch b/target/linux/bcm27xx/patches-6.12/950-0413-drivers-usb-dwc3-add-FS-LS-bus-instance-parkmode-dis.patch
index f8e80fc4d0..f3247b6e05 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0413-drivers-usb-dwc3-add-FS-LS-bus-instance-parkmode-dis.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0413-drivers-usb-dwc3-add-FS-LS-bus-instance-parkmode-dis.patch
@@ -16,7 +16,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
-@@ -1486,6 +1486,9 @@ static int dwc3_core_init(struct dwc3 *d
+@@ -1488,6 +1488,9 @@ static int dwc3_core_init(struct dwc3 *d
if (dwc->parkmode_disable_hs_quirk)
reg |= DWC3_GUCTL1_PARKMODE_DISABLE_HS;
@@ -26,7 +26,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
if (DWC3_VER_IS_WITHIN(DWC3, 290A, ANY)) {
if (dwc->maximum_speed == USB_SPEED_FULL ||
dwc->maximum_speed == USB_SPEED_HIGH)
-@@ -1832,6 +1835,8 @@ static void dwc3_get_properties(struct d
+@@ -1834,6 +1837,8 @@ static void dwc3_get_properties(struct d
"snps,parkmode-disable-ss-quirk");
dwc->parkmode_disable_hs_quirk = device_property_read_bool(dev,
"snps,parkmode-disable-hs-quirk");
@@ -62,7 +62,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
* @gfladj_refclk_lpm_sel: set if we need to enable SOF/ITP counter
* running based on ref_clk
* @tx_de_emphasis_quirk: set if we enable Tx de-emphasis quirk
-@@ -1385,6 +1388,7 @@ struct dwc3 {
+@@ -1386,6 +1389,7 @@ struct dwc3 {
unsigned ulpi_ext_vbus_drv:1;
unsigned parkmode_disable_ss_quirk:1;
unsigned parkmode_disable_hs_quirk:1;
diff --git a/target/linux/bcm27xx/patches-6.12/950-0519-numa-emulation-Check-emulated-zones-around-the-CMA-w.patch b/target/linux/bcm27xx/patches-6.12/950-0519-numa-emulation-Check-emulated-zones-around-the-CMA-w.patch
index b7cd28f44c..30fde17d90 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0519-numa-emulation-Check-emulated-zones-around-the-CMA-w.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0519-numa-emulation-Check-emulated-zones-around-the-CMA-w.patch
@@ -84,9 +84,9 @@ Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
#include <linux/numa_memblks.h>
+#include <linux/cma.h>
#include <asm/numa.h>
+ #include <acpi/acpi_numa.h>
- #define FAKE_NODE_MIN_SIZE ((u64)32 << 20)
-@@ -51,6 +52,7 @@ static int __init emu_setup_memblk(struc
+@@ -52,6 +53,7 @@ static int __init emu_setup_memblk(struc
{
struct numa_memblk *eb = &ei->blk[ei->nr_blks];
struct numa_memblk *pb = &pi->blk[phys_blk];
@@ -94,7 +94,7 @@ Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
if (ei->nr_blks >= NR_NODE_MEMBLKS) {
pr_err("NUMA: Too many emulated memblks, failing emulation\n");
-@@ -62,6 +64,10 @@ static int __init emu_setup_memblk(struc
+@@ -63,6 +65,10 @@ static int __init emu_setup_memblk(struc
eb->end = pb->start + size;
eb->nid = nid;
diff --git a/target/linux/bcm27xx/patches-6.12/950-0524-usb-dwc3-core-add-support-for-setting-NAK-enhancemen.patch b/target/linux/bcm27xx/patches-6.12/950-0524-usb-dwc3-core-add-support-for-setting-NAK-enhancemen.patch
index 92cb7e9481..2a61d97e14 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0524-usb-dwc3-core-add-support-for-setting-NAK-enhancemen.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0524-usb-dwc3-core-add-support-for-setting-NAK-enhancemen.patch
@@ -22,7 +22,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
-@@ -1480,6 +1480,12 @@ static int dwc3_core_init(struct dwc3 *d
+@@ -1482,6 +1482,12 @@ static int dwc3_core_init(struct dwc3 *d
if (dwc->dis_tx_ipgap_linecheck_quirk)
reg |= DWC3_GUCTL1_TX_IPGAP_LINECHECK_DIS;
@@ -35,7 +35,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
if (dwc->parkmode_disable_ss_quirk)
reg |= DWC3_GUCTL1_PARKMODE_DISABLE_SS;
-@@ -1831,6 +1837,10 @@ static void dwc3_get_properties(struct d
+@@ -1833,6 +1839,10 @@ static void dwc3_get_properties(struct d
"snps,resume-hs-terminations");
dwc->ulpi_ext_vbus_drv = device_property_read_bool(dev,
"snps,ulpi-ext-vbus-drv");
@@ -66,7 +66,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
* @parkmode_disable_ss_quirk: If set, disable park mode feature for all
* Superspeed instances.
* @parkmode_disable_hs_quirk: If set, disable park mode feature for all
-@@ -1386,6 +1390,8 @@ struct dwc3 {
+@@ -1387,6 +1391,8 @@ struct dwc3 {
unsigned dis_tx_ipgap_linecheck_quirk:1;
unsigned resume_hs_terminations:1;
unsigned ulpi_ext_vbus_drv:1;
diff --git a/target/linux/bcm27xx/patches-6.12/950-0685-nvme-pci-Disable-Host-Memory-Buffer-usage.patch b/target/linux/bcm27xx/patches-6.12/950-0685-nvme-pci-Disable-Host-Memory-Buffer-usage.patch
index a299c6c57e..ec963fd3e7 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0685-nvme-pci-Disable-Host-Memory-Buffer-usage.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0685-nvme-pci-Disable-Host-Memory-Buffer-usage.patch
@@ -18,7 +18,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
-@@ -2106,6 +2106,7 @@ static void nvme_free_host_mem(struct nv
+@@ -2109,6 +2109,7 @@ static void nvme_free_host_mem(struct nv
dev->nr_host_mem_descs = 0;
}
@@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
static int __nvme_alloc_host_mem(struct nvme_dev *dev, u64 preferred,
u32 chunk_size)
{
-@@ -2174,9 +2175,11 @@ out:
+@@ -2177,9 +2178,11 @@ out:
dev->host_mem_descs = NULL;
return -ENOMEM;
}
@@ -38,7 +38,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
u64 min_chunk = min_t(u64, preferred, PAGE_SIZE * MAX_ORDER_NR_PAGES);
u64 hmminds = max_t(u32, dev->ctrl.hmminds * 4096, PAGE_SIZE * 2);
u64 chunk_size;
-@@ -2189,6 +2192,7 @@ static int nvme_alloc_host_mem(struct nv
+@@ -2192,6 +2195,7 @@ static int nvme_alloc_host_mem(struct nv
nvme_free_host_mem(dev);
}
}
diff --git a/target/linux/generic/hack-6.12/721-net-add-packet-mangeling.patch b/target/linux/generic/hack-6.12/721-net-add-packet-mangeling.patch
index 842c9b0d30..599713bc23 100644
--- a/target/linux/generic/hack-6.12/721-net-add-packet-mangeling.patch
+++ b/target/linux/generic/hack-6.12/721-net-add-packet-mangeling.patch
@@ -97,7 +97,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
help
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -3658,6 +3658,11 @@ static int xmit_one(struct sk_buff *skb,
+@@ -3671,6 +3671,11 @@ static int xmit_one(struct sk_buff *skb,
if (dev_nit_active(dev))
dev_queue_xmit_nit(skb, dev);
diff --git a/target/linux/generic/hack-6.12/902-debloat_proc.patch b/target/linux/generic/hack-6.12/902-debloat_proc.patch
index 045e1a5f0e..06b45a1a71 100644
--- a/target/linux/generic/hack-6.12/902-debloat_proc.patch
+++ b/target/linux/generic/hack-6.12/902-debloat_proc.patch
@@ -247,7 +247,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
}
--- a/mm/vmstat.c
+++ b/mm/vmstat.c
-@@ -2195,10 +2195,12 @@ void __init init_mm_internals(void)
+@@ -2197,10 +2197,12 @@ void __init init_mm_internals(void)
start_shepherd_timer();
#endif
#ifdef CONFIG_PROC_FS
diff --git a/target/linux/generic/kernel-6.12 b/target/linux/generic/kernel-6.12
index c786e6ed44..2f31adbfb2 100644
--- a/target/linux/generic/kernel-6.12
+++ b/target/linux/generic/kernel-6.12
@@ -1,2 +1,2 @@
-LINUX_VERSION-6.12 = .66
-LINUX_KERNEL_HASH-6.12.66 = ba3897a1c060b05a03cb4dda6f20d8c75e6f73c88b217744823a915056536eaf
+LINUX_VERSION-6.12 = .67
+LINUX_KERNEL_HASH-6.12.67 = 16805dc62e1fa5ef8a3f466f3f44a2efb171b5206d6840ced4ba5475cf12c432
diff --git a/target/linux/generic/pending-6.12/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch b/target/linux/generic/pending-6.12/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch
index 4cc0b3ed24..fdfacd8dee 100644
--- a/target/linux/generic/pending-6.12/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch
+++ b/target/linux/generic/pending-6.12/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch
@@ -35,7 +35,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
| NETIF_F_HW_CSUM
--- a/drivers/net/macvlan.c
+++ b/drivers/net/macvlan.c
-@@ -897,7 +897,7 @@ static int macvlan_hwtstamp_set(struct n
+@@ -903,7 +903,7 @@ static int macvlan_hwtstamp_set(struct n
static struct lock_class_key macvlan_netdev_addr_lock_key;
#define ALWAYS_ON_OFFLOADS \
diff --git a/target/linux/rockchip/patches-6.12/036-01-v6.13-phy-phy-rockchip-inno-usb2-Handle-failed-extcon-allocatio.patch b/target/linux/rockchip/patches-6.12/036-01-v6.13-phy-phy-rockchip-inno-usb2-Handle-failed-extcon-allocatio.patch
index c058600752..e8a36919b4 100644
--- a/target/linux/rockchip/patches-6.12/036-01-v6.13-phy-phy-rockchip-inno-usb2-Handle-failed-extcon-allocatio.patch
+++ b/target/linux/rockchip/patches-6.12/036-01-v6.13-phy-phy-rockchip-inno-usb2-Handle-failed-extcon-allocatio.patch
@@ -19,7 +19,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
--- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
+++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
-@@ -435,7 +435,8 @@ static int rockchip_usb2phy_extcon_regis
+@@ -433,7 +433,8 @@ static int rockchip_usb2phy_extcon_regis
rockchip_usb2phy_extcon_cable);
if (IS_ERR(edev))
@@ -28,4 +28,4 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
+ "failed to allocate extcon device\n");
ret = devm_extcon_dev_register(rphy->dev, edev);
- if (ret) {
+ if (ret)
diff --git a/target/linux/rockchip/patches-6.12/036-02-v6.13-phy-rockchip-inno-usb2-convert-clock-management-to-bulk.patch b/target/linux/rockchip/patches-6.12/036-02-v6.13-phy-rockchip-inno-usb2-convert-clock-management-to-bulk.patch
index 7e4fa9b0bf..e04e6bb878 100644
--- a/target/linux/rockchip/patches-6.12/036-02-v6.13-phy-rockchip-inno-usb2-convert-clock-management-to-bulk.patch
+++ b/target/linux/rockchip/patches-6.12/036-02-v6.13-phy-rockchip-inno-usb2-convert-clock-management-to-bulk.patch
@@ -83,7 +83,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
init.parent_names = &clk_name;
init.num_parents = 1;
} else {
-@@ -1407,11 +1425,13 @@ static int rockchip_usb2phy_probe(struct
+@@ -1408,16 +1426,26 @@ static int rockchip_usb2phy_probe(struct
if (IS_ERR(rphy->phy_reset))
return PTR_ERR(rphy->phy_reset);
@@ -101,10 +101,8 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
+ rphy->num_clks = ret < 0 ? 0 : ret;
ret = rockchip_usb2phy_clk480m_register(rphy);
- if (ret) {
-@@ -1419,6 +1439,14 @@ static int rockchip_usb2phy_probe(struct
- return ret;
- }
+ if (ret)
+ return dev_err_probe(dev, ret, "failed to register 480m output clock\n");
+ ret = clk_bulk_prepare_enable(rphy->num_clks, rphy->clks);
+ if (ret)
diff --git a/target/linux/rockchip/patches-6.12/036-03-v6.13-phy-rockchip-inno-usb2-Add-usb2-phys-support-for-rk3576.patch b/target/linux/rockchip/patches-6.12/036-03-v6.13-phy-rockchip-inno-usb2-Add-usb2-phys-support-for-rk3576.patch
index d44ab4abbe..56046f9ab2 100644
--- a/target/linux/rockchip/patches-6.12/036-03-v6.13-phy-rockchip-inno-usb2-Add-usb2-phys-support-for-rk3576.patch
+++ b/target/linux/rockchip/patches-6.12/036-03-v6.13-phy-rockchip-inno-usb2-Add-usb2-phys-support-for-rk3576.patch
@@ -17,7 +17,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
--- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
+++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
-@@ -1524,6 +1524,30 @@ static int rk3128_usb2phy_tuning(struct
+@@ -1521,6 +1521,30 @@ static int rk3128_usb2phy_tuning(struct
BIT(2) << BIT_WRITEABLE_SHIFT | 0);
}
@@ -48,7 +48,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
static int rk3588_usb2phy_tuning(struct rockchip_usb2phy *rphy)
{
int ret;
-@@ -1952,6 +1976,84 @@ static const struct rockchip_usb2phy_cfg
+@@ -1949,6 +1973,84 @@ static const struct rockchip_usb2phy_cfg
{ /* sentinel */ }
};
@@ -133,7 +133,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
static const struct rockchip_usb2phy_cfg rk3588_phy_cfgs[] = {
{
.reg = 0x0000,
-@@ -2123,6 +2225,7 @@ static const struct of_device_id rockchi
+@@ -2120,6 +2222,7 @@ static const struct of_device_id rockchi
{ .compatible = "rockchip,rk3366-usb2phy", .data = &rk3366_phy_cfgs },
{ .compatible = "rockchip,rk3399-usb2phy", .data = &rk3399_phy_cfgs },
{ .compatible = "rockchip,rk3568-usb2phy", .data = &rk3568_phy_cfgs },
diff --git a/target/linux/rockchip/patches-6.12/160-01-phy-rockchip-inno-usb2-Simplify-rockchip-usbgrf-handling.patch b/target/linux/rockchip/patches-6.12/160-01-phy-rockchip-inno-usb2-Simplify-rockchip-usbgrf-handling.patch
index 98d0b2c326..6054edeeef 100644
--- a/target/linux/rockchip/patches-6.12/160-01-phy-rockchip-inno-usb2-Simplify-rockchip-usbgrf-handling.patch
+++ b/target/linux/rockchip/patches-6.12/160-01-phy-rockchip-inno-usb2-Simplify-rockchip-usbgrf-handling.patch
@@ -86,7 +86,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
}
static unsigned long
-@@ -577,7 +567,6 @@ static int rockchip_usb2phy_power_on(str
+@@ -574,7 +564,6 @@ static int rockchip_usb2phy_power_on(str
{
struct rockchip_usb2phy_port *rport = phy_get_drvdata(phy);
struct rockchip_usb2phy *rphy = dev_get_drvdata(phy->dev.parent);
@@ -94,7 +94,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
int ret;
dev_dbg(&rport->phy->dev, "port power on\n");
-@@ -589,7 +578,7 @@ static int rockchip_usb2phy_power_on(str
+@@ -586,7 +575,7 @@ static int rockchip_usb2phy_power_on(str
if (ret)
return ret;
@@ -103,7 +103,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
if (ret) {
clk_disable_unprepare(rphy->clk480m);
return ret;
-@@ -618,7 +607,6 @@ static int rockchip_usb2phy_power_off(st
+@@ -615,7 +604,6 @@ static int rockchip_usb2phy_power_off(st
{
struct rockchip_usb2phy_port *rport = phy_get_drvdata(phy);
struct rockchip_usb2phy *rphy = dev_get_drvdata(phy->dev.parent);
@@ -111,7 +111,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
int ret;
dev_dbg(&rport->phy->dev, "port power off\n");
-@@ -626,7 +614,7 @@ static int rockchip_usb2phy_power_off(st
+@@ -623,7 +611,7 @@ static int rockchip_usb2phy_power_off(st
if (rport->suspended)
return 0;
@@ -120,7 +120,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
if (ret)
return ret;
-@@ -790,28 +778,22 @@ static const char *chg_to_string(enum po
+@@ -787,28 +775,22 @@ static const char *chg_to_string(enum po
static void rockchip_chg_enable_dcd(struct rockchip_usb2phy *rphy,
bool en)
{
@@ -155,33 +155,33 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
}
#define CHG_DCD_POLL_TIME (100 * HZ / 1000)
-@@ -823,7 +805,6 @@ static void rockchip_chg_detect_work(str
+@@ -820,7 +802,6 @@ static void rockchip_chg_detect_work(str
struct rockchip_usb2phy_port *rport =
container_of(work, struct rockchip_usb2phy_port, chg_work.work);
struct rockchip_usb2phy *rphy = dev_get_drvdata(rport->phy->dev.parent);
- struct regmap *base = get_reg_base(rphy);
- bool is_dcd, tmout, vout;
+ bool is_dcd, tmout, vout, vbus_attach;
unsigned long delay;
@@ -834,7 +815,7 @@ static void rockchip_chg_detect_work(str
- if (!rport->suspended)
rockchip_usb2phy_power_off(rport->phy);
/* put the controller in non-driving mode */
-- property_enable(base, &rphy->phy_cfg->chg_det.opmode, false);
-+ property_enable(rphy->grf, &rphy->phy_cfg->chg_det.opmode, false);
+ if (!vbus_attach)
+- property_enable(base, &rphy->phy_cfg->chg_det.opmode, false);
++ property_enable(rphy->grf, &rphy->phy_cfg->chg_det.opmode, false);
/* Start DCD processing stage 1 */
rockchip_chg_enable_dcd(rphy, true);
rphy->chg_state = USB_CHG_STATE_WAIT_FOR_DCD;
-@@ -897,7 +878,7 @@ static void rockchip_chg_detect_work(str
- fallthrough;
+@@ -898,7 +879,7 @@ static void rockchip_chg_detect_work(str
case USB_CHG_STATE_DETECTED:
/* put the controller in normal mode */
-- property_enable(base, &rphy->phy_cfg->chg_det.opmode, true);
-+ property_enable(rphy->grf, &rphy->phy_cfg->chg_det.opmode, true);
+ if (!vbus_attach)
+- property_enable(base, &rphy->phy_cfg->chg_det.opmode, true);
++ property_enable(rphy->grf, &rphy->phy_cfg->chg_det.opmode, true);
rockchip_usb2phy_otg_sm_work(&rport->otg_sm_work.work);
dev_dbg(&rport->phy->dev, "charger = %s\n",
chg_to_string(rphy->chg_type));
-@@ -1352,29 +1333,14 @@ static int rockchip_usb2phy_probe(struct
+@@ -1353,29 +1334,14 @@ static int rockchip_usb2phy_probe(struct
if (!rphy)
return -ENOMEM;
diff --git a/target/linux/rockchip/patches-6.12/160-02-phy-rockchip-inno-usb2-Add-clkout_ctl_phy-support.patch b/target/linux/rockchip/patches-6.12/160-02-phy-rockchip-inno-usb2-Add-clkout_ctl_phy-support.patch
index eeb79f5a2f..b977ae1130 100644
--- a/target/linux/rockchip/patches-6.12/160-02-phy-rockchip-inno-usb2-Add-clkout_ctl_phy-support.patch
+++ b/target/linux/rockchip/patches-6.12/160-02-phy-rockchip-inno-usb2-Add-clkout_ctl_phy-support.patch
@@ -107,7 +107,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
}
static unsigned long
-@@ -1335,9 +1360,13 @@ static int rockchip_usb2phy_probe(struct
+@@ -1336,9 +1361,13 @@ static int rockchip_usb2phy_probe(struct
if (!dev->parent || !dev->parent->of_node ||
of_property_present(np, "rockchip,usbgrf")) {
diff --git a/target/linux/rockchip/patches-6.12/160-03-phy-rockchip-inno-usb2-Add-support-for-RK3528.patch b/target/linux/rockchip/patches-6.12/160-03-phy-rockchip-inno-usb2-Add-support-for-RK3528.patch
index 1a77cbf751..27f3bb09b8 100644
--- a/target/linux/rockchip/patches-6.12/160-03-phy-rockchip-inno-usb2-Add-support-for-RK3528.patch
+++ b/target/linux/rockchip/patches-6.12/160-03-phy-rockchip-inno-usb2-Add-support-for-RK3528.patch
@@ -28,7 +28,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
--- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
+++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
-@@ -1519,6 +1519,28 @@ static int rk3128_usb2phy_tuning(struct
+@@ -1516,6 +1516,28 @@ static int rk3128_usb2phy_tuning(struct
BIT(2) << BIT_WRITEABLE_SHIFT | 0);
}
@@ -57,7 +57,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
static int rk3576_usb2phy_tuning(struct rockchip_usb2phy *rphy)
{
int ret;
-@@ -1901,6 +1923,57 @@ static const struct rockchip_usb2phy_cfg
+@@ -1898,6 +1920,57 @@ static const struct rockchip_usb2phy_cfg
{ /* sentinel */ }
};
@@ -115,7 +115,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
static const struct rockchip_usb2phy_cfg rk3568_phy_cfgs[] = {
{
.reg = 0xfe8a0000,
-@@ -2219,6 +2292,7 @@ static const struct of_device_id rockchi
+@@ -2216,6 +2289,7 @@ static const struct of_device_id rockchi
{ .compatible = "rockchip,rk3328-usb2phy", .data = &rk3328_phy_cfgs },
{ .compatible = "rockchip,rk3366-usb2phy", .data = &rk3366_phy_cfgs },
{ .compatible = "rockchip,rk3399-usb2phy", .data = &rk3399_phy_cfgs },