From: John Audia Date: Wed, 26 Oct 2022 22:31:12 +0000 (-0400) Subject: kernel: bump 5.15 to 5.15.75 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=a34255b795bcd939a66f11f100e0de8f54fd3707;p=openwrt%2Fstaging%2Fnbd.git kernel: bump 5.15 to 5.15.75 Removed upstreamed: bcm27xx/patches-5.15/950-0446-drm-vc4-Fix-timings-for-VEC-modes.patch[1] Manually rebased: patches-5.15/950-0600-xhci-quirks-add-link-TRB-quirk-for-VL805.patch bcm27xx/patches-5.15/950-0606-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch bcm27xx/patches-5.15/950-0717-usb-xhci-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch bcm53xx/patches-5.15/180-usb-xhci-add-support-for-performing-fake-doorbell.patch All other patches automatically rebased 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.75&id=2810061452f9b748b096ad023d318690ca519aa3 Build system: x86_64 Build-tested: bcm2711/RPi4B, mt7622/RT3200 Run-tested: bcm2711/RPi4B, mt7622/RT3200 Signed-off-by: John Audia --- diff --git a/include/kernel-5.15 b/include/kernel-5.15 index bd2e9f1dd3..29d8f91385 100644 --- a/include/kernel-5.15 +++ b/include/kernel-5.15 @@ -1,2 +1,2 @@ -LINUX_VERSION-5.15 = .74 -LINUX_KERNEL_HASH-5.15.74 = 2c1539a2f85b835c36c4a07c8270b52b0bec38fdda7339477d07f0c3af8c4265 +LINUX_VERSION-5.15 = .75 +LINUX_KERNEL_HASH-5.15.75 = d9a65bdd3659ccf55acf42268a27f7989b1500815ae51223aadbad9aeec45fc6 diff --git a/target/linux/apm821xx/patches-5.15/900-powerpc-bootwrapper-force-gzip-as-mkimage-s-compress.patch b/target/linux/apm821xx/patches-5.15/900-powerpc-bootwrapper-force-gzip-as-mkimage-s-compress.patch index 3a9f48d0ab..1ba8a45cb6 100644 --- a/target/linux/apm821xx/patches-5.15/900-powerpc-bootwrapper-force-gzip-as-mkimage-s-compress.patch +++ b/target/linux/apm821xx/patches-5.15/900-powerpc-bootwrapper-force-gzip-as-mkimage-s-compress.patch @@ -18,7 +18,7 @@ Signed-off-by: Christian Lamparter --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile -@@ -257,7 +257,7 @@ compressor-$(CONFIG_KERNEL_LZO) := lzo +@@ -258,7 +258,7 @@ compressor-$(CONFIG_KERNEL_LZO) := lzo # args (to if_changed): 1 = (this rule), 2 = platform, 3 = dts 4=dtb 5=initrd quiet_cmd_wrap = WRAP $@ diff --git a/target/linux/ath79/patches-5.15/910-unaligned_access_hacks.patch b/target/linux/ath79/patches-5.15/910-unaligned_access_hacks.patch index f5d3a5ed58..84ee47a115 100644 --- a/target/linux/ath79/patches-5.15/910-unaligned_access_hacks.patch +++ b/target/linux/ath79/patches-5.15/910-unaligned_access_hacks.patch @@ -215,7 +215,7 @@ SVN-Revision: 35130 #define UDP_CORK 1 /* Never send partially complete segments */ --- a/net/netfilter/nf_conntrack_core.c +++ b/net/netfilter/nf_conntrack_core.c -@@ -305,8 +305,8 @@ nf_ct_get_tuple(const struct sk_buff *sk +@@ -308,8 +308,8 @@ nf_ct_get_tuple(const struct sk_buff *sk switch (l3num) { case NFPROTO_IPV4: @@ -737,7 +737,7 @@ SVN-Revision: 35130 | TCPOLEN_TIMESTAMP)) --- a/net/xfrm/xfrm_input.c +++ b/net/xfrm/xfrm_input.c -@@ -165,8 +165,8 @@ int xfrm_parse_spi(struct sk_buff *skb, +@@ -166,8 +166,8 @@ int xfrm_parse_spi(struct sk_buff *skb, if (!pskb_may_pull(skb, hlen)) return -EINVAL; diff --git a/target/linux/bcm27xx/patches-5.15/950-0046-Register-the-clocks-early-during-the-boot-process-so.patch b/target/linux/bcm27xx/patches-5.15/950-0046-Register-the-clocks-early-during-the-boot-process-so.patch index 8dd6abdfdb..195e25e059 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0046-Register-the-clocks-early-during-the-boot-process-so.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0046-Register-the-clocks-early-during-the-boot-process-so.patch @@ -13,7 +13,7 @@ Signed-off-by: Martin Sperl --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -2289,8 +2289,15 @@ static int bcm2835_clk_probe(struct plat +@@ -2320,8 +2320,15 @@ static int bcm2835_clk_probe(struct plat if (ret) return ret; @@ -30,7 +30,7 @@ Signed-off-by: Martin Sperl } static const struct cprman_plat_data cprman_bcm2835_plat_data = { -@@ -2316,7 +2323,11 @@ static struct platform_driver bcm2835_cl +@@ -2347,7 +2354,11 @@ static struct platform_driver bcm2835_cl .probe = bcm2835_clk_probe, }; diff --git a/target/linux/bcm27xx/patches-5.15/950-0048-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch b/target/linux/bcm27xx/patches-5.15/950-0048-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch index 8f004a80d9..561f827a53 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0048-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0048-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch @@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -1378,6 +1378,11 @@ bcm2835_register_pll_divider(struct bcm2 +@@ -1408,6 +1408,11 @@ bcm2835_register_pll_divider(struct bcm2 divider->div.hw.init = &init; divider->div.table = NULL; diff --git a/target/linux/bcm27xx/patches-5.15/950-0049-clk-bcm2835-Add-claim-clocks-property.patch b/target/linux/bcm27xx/patches-5.15/950-0049-clk-bcm2835-Add-claim-clocks-property.patch index 809b571c52..f2b8c85d4c 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0049-clk-bcm2835-Add-claim-clocks-property.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0049-clk-bcm2835-Add-claim-clocks-property.patch @@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -1306,6 +1306,8 @@ static const struct clk_ops bcm2835_vpu_ +@@ -1336,6 +1336,8 @@ static const struct clk_ops bcm2835_vpu_ .debug_init = bcm2835_clock_debug_init, }; @@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell static struct clk_hw *bcm2835_register_pll(struct bcm2835_cprman *cprman, const void *data) { -@@ -1323,6 +1325,9 @@ static struct clk_hw *bcm2835_register_p +@@ -1353,6 +1355,9 @@ static struct clk_hw *bcm2835_register_p init.ops = &bcm2835_pll_clk_ops; init.flags = pll_data->flags | CLK_IGNORE_UNUSED; @@ -36,7 +36,7 @@ Signed-off-by: Phil Elwell pll = kzalloc(sizeof(*pll), GFP_KERNEL); if (!pll) return NULL; -@@ -1378,9 +1383,11 @@ bcm2835_register_pll_divider(struct bcm2 +@@ -1408,9 +1413,11 @@ bcm2835_register_pll_divider(struct bcm2 divider->div.hw.init = &init; divider->div.table = NULL; @@ -51,7 +51,7 @@ Signed-off-by: Phil Elwell } divider->cprman = cprman; -@@ -1437,6 +1444,15 @@ static struct clk_hw *bcm2835_register_c +@@ -1467,6 +1474,15 @@ static struct clk_hw *bcm2835_register_c init.flags = clock_data->flags | CLK_IGNORE_UNUSED; /* @@ -67,7 +67,7 @@ Signed-off-by: Phil Elwell * Pass the CLK_SET_RATE_PARENT flag if we are allowed to propagate * rate changes on at least of the parents. */ -@@ -2215,6 +2231,8 @@ static const struct bcm2835_clk_desc clk +@@ -2246,6 +2262,8 @@ static const struct bcm2835_clk_desc clk .ctl_reg = CM_PERIICTL), }; @@ -76,7 +76,7 @@ Signed-off-by: Phil Elwell /* * Permanently take a reference on the parent of the SDRAM clock. * -@@ -2234,6 +2252,19 @@ static int bcm2835_mark_sdc_parent_criti +@@ -2265,6 +2283,19 @@ static int bcm2835_mark_sdc_parent_criti return clk_prepare_enable(parent); } @@ -96,7 +96,7 @@ Signed-off-by: Phil Elwell static int bcm2835_clk_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; -@@ -2243,6 +2274,7 @@ static int bcm2835_clk_probe(struct plat +@@ -2274,6 +2305,7 @@ static int bcm2835_clk_probe(struct plat const size_t asize = ARRAY_SIZE(clk_desc_array); const struct cprman_plat_data *pdata; size_t i; @@ -104,7 +104,7 @@ Signed-off-by: Phil Elwell int ret; pdata = of_device_get_match_data(&pdev->dev); -@@ -2261,6 +2293,13 @@ static int bcm2835_clk_probe(struct plat +@@ -2292,6 +2324,13 @@ static int bcm2835_clk_probe(struct plat if (IS_ERR(cprman->regs)) return PTR_ERR(cprman->regs); diff --git a/target/linux/bcm27xx/patches-5.15/950-0050-clk-bcm2835-Read-max-core-clock-from-firmware.patch b/target/linux/bcm27xx/patches-5.15/950-0050-clk-bcm2835-Read-max-core-clock-from-firmware.patch index cfa152c2f6..6d67d29ac8 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0050-clk-bcm2835-Read-max-core-clock-from-firmware.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0050-clk-bcm2835-Read-max-core-clock-from-firmware.patch @@ -25,7 +25,7 @@ Signed-off-by: Phil Elwell --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -35,6 +35,7 @@ +@@ -36,6 +36,7 @@ #include #include #include @@ -33,7 +33,7 @@ Signed-off-by: Phil Elwell #define CM_PASSWORD 0x5a000000 -@@ -295,6 +296,8 @@ +@@ -296,6 +297,8 @@ #define SOC_BCM2711 BIT(1) #define SOC_ALL (SOC_BCM2835 | SOC_BCM2711) @@ -42,7 +42,7 @@ Signed-off-by: Phil Elwell /* * Names of clocks used within the driver that need to be replaced * with an external parent's name. This array is in the order that -@@ -313,6 +316,7 @@ static const char *const cprman_parent_n +@@ -314,6 +317,7 @@ static const char *const cprman_parent_n struct bcm2835_cprman { struct device *dev; void __iomem *regs; @@ -50,8 +50,8 @@ Signed-off-by: Phil Elwell spinlock_t regs_lock; /* spinlock for all clocks */ unsigned int soc; -@@ -1010,6 +1014,30 @@ static unsigned long bcm2835_clock_get_r - return bcm2835_clock_rate_from_divisor(clock, parent_rate, div); +@@ -1040,6 +1044,30 @@ static unsigned long bcm2835_clock_get_r + return rate; } +static unsigned long bcm2835_clock_get_rate_vpu(struct clk_hw *hw, @@ -81,7 +81,7 @@ Signed-off-by: Phil Elwell static void bcm2835_clock_wait_busy(struct bcm2835_clock *clock) { struct bcm2835_cprman *cprman = clock->cprman; -@@ -1298,7 +1326,7 @@ static int bcm2835_vpu_clock_is_on(struc +@@ -1328,7 +1356,7 @@ static int bcm2835_vpu_clock_is_on(struc */ static const struct clk_ops bcm2835_vpu_clock_clk_ops = { .is_prepared = bcm2835_vpu_clock_is_on, @@ -90,7 +90,7 @@ Signed-off-by: Phil Elwell .set_rate = bcm2835_clock_set_rate, .determine_rate = bcm2835_clock_determine_rate, .set_parent = bcm2835_clock_set_parent, -@@ -2273,6 +2301,7 @@ static int bcm2835_clk_probe(struct plat +@@ -2304,6 +2332,7 @@ static int bcm2835_clk_probe(struct plat const struct bcm2835_clk_desc *desc; const size_t asize = ARRAY_SIZE(clk_desc_array); const struct cprman_plat_data *pdata; @@ -98,7 +98,7 @@ Signed-off-by: Phil Elwell size_t i; u32 clk_id; int ret; -@@ -2293,6 +2322,14 @@ static int bcm2835_clk_probe(struct plat +@@ -2324,6 +2353,14 @@ static int bcm2835_clk_probe(struct plat if (IS_ERR(cprman->regs)) return PTR_ERR(cprman->regs); diff --git a/target/linux/bcm27xx/patches-5.15/950-0134-clk-clk-bcm2835-Use-zd-when-printing-size_t.patch b/target/linux/bcm27xx/patches-5.15/950-0134-clk-clk-bcm2835-Use-zd-when-printing-size_t.patch index a7c0f52876..b005799e74 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0134-clk-clk-bcm2835-Use-zd-when-printing-size_t.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0134-clk-clk-bcm2835-Use-zd-when-printing-size_t.patch @@ -13,7 +13,7 @@ Signed-off-by: Dave Stevenson --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -2376,7 +2376,7 @@ static int bcm2835_clk_probe(struct plat +@@ -2407,7 +2407,7 @@ static int bcm2835_clk_probe(struct plat return ret; /* note that we have registered all the clocks */ diff --git a/target/linux/bcm27xx/patches-5.15/950-0147-clk-bcm2835-Don-t-wait-for-pllh-lock.patch b/target/linux/bcm27xx/patches-5.15/950-0147-clk-bcm2835-Don-t-wait-for-pllh-lock.patch index 7ee8aa7cbb..2db6f60525 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0147-clk-bcm2835-Don-t-wait-for-pllh-lock.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0147-clk-bcm2835-Don-t-wait-for-pllh-lock.patch @@ -10,7 +10,7 @@ Signed-off-by: Phil Elwell --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -644,15 +644,17 @@ static int bcm2835_pll_on(struct clk_hw +@@ -647,15 +647,17 @@ static int bcm2835_pll_on(struct clk_hw spin_unlock(&cprman->regs_lock); /* Wait for the PLL to lock. */ diff --git a/target/linux/bcm27xx/patches-5.15/950-0149-clk-bcm2835-Add-support-for-setting-leaf-clock-rates.patch b/target/linux/bcm27xx/patches-5.15/950-0149-clk-bcm2835-Add-support-for-setting-leaf-clock-rates.patch index f35ca3f3a8..40523ef552 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0149-clk-bcm2835-Add-support-for-setting-leaf-clock-rates.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0149-clk-bcm2835-Add-support-for-setting-leaf-clock-rates.patch @@ -14,7 +14,7 @@ Signed-off-by: Eric Anholt --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -1109,15 +1109,19 @@ static int bcm2835_clock_set_rate(struct +@@ -1139,15 +1139,19 @@ static int bcm2835_clock_set_rate(struct spin_lock(&cprman->regs_lock); @@ -42,7 +42,7 @@ Signed-off-by: Eric Anholt ctl |= (div & CM_DIV_FRAC_MASK) ? CM_FRAC : 0; cprman_write(cprman, data->ctl_reg, ctl); -@@ -1493,7 +1497,7 @@ static struct clk_hw *bcm2835_register_c +@@ -1523,7 +1527,7 @@ static struct clk_hw *bcm2835_register_c init.ops = &bcm2835_vpu_clock_clk_ops; } else { init.ops = &bcm2835_clock_clk_ops; diff --git a/target/linux/bcm27xx/patches-5.15/950-0150-clk-bcm2835-Allow-reparenting-leaf-clocks-while-they.patch b/target/linux/bcm27xx/patches-5.15/950-0150-clk-bcm2835-Allow-reparenting-leaf-clocks-while-they.patch index 4caf953ced..ee9bcc8517 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0150-clk-bcm2835-Allow-reparenting-leaf-clocks-while-they.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0150-clk-bcm2835-Allow-reparenting-leaf-clocks-while-they.patch @@ -15,7 +15,7 @@ Signed-off-by: Eric Anholt --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -1098,8 +1098,10 @@ static int bcm2835_clock_on(struct clk_h +@@ -1128,8 +1128,10 @@ static int bcm2835_clock_on(struct clk_h return 0; } @@ -28,7 +28,7 @@ Signed-off-by: Eric Anholt { struct bcm2835_clock *clock = bcm2835_clock_from_hw(hw); struct bcm2835_cprman *cprman = clock->cprman; -@@ -1121,6 +1123,11 @@ static int bcm2835_clock_set_rate(struct +@@ -1151,6 +1153,11 @@ static int bcm2835_clock_set_rate(struct bcm2835_clock_wait_busy(clock); } @@ -40,7 +40,7 @@ Signed-off-by: Eric Anholt ctl &= ~CM_FRAC; ctl |= (div & CM_DIV_FRAC_MASK) ? CM_FRAC : 0; cprman_write(cprman, data->ctl_reg, ctl); -@@ -1132,6 +1139,12 @@ static int bcm2835_clock_set_rate(struct +@@ -1162,6 +1169,12 @@ static int bcm2835_clock_set_rate(struct return 0; } @@ -53,7 +53,7 @@ Signed-off-by: Eric Anholt static bool bcm2835_clk_is_pllc(struct clk_hw *hw) { -@@ -1315,6 +1328,7 @@ static const struct clk_ops bcm2835_cloc +@@ -1345,6 +1358,7 @@ static const struct clk_ops bcm2835_cloc .unprepare = bcm2835_clock_off, .recalc_rate = bcm2835_clock_get_rate, .set_rate = bcm2835_clock_set_rate, @@ -61,7 +61,7 @@ Signed-off-by: Eric Anholt .determine_rate = bcm2835_clock_determine_rate, .set_parent = bcm2835_clock_set_parent, .get_parent = bcm2835_clock_get_parent, -@@ -1497,7 +1511,6 @@ static struct clk_hw *bcm2835_register_c +@@ -1527,7 +1541,6 @@ static struct clk_hw *bcm2835_register_c init.ops = &bcm2835_vpu_clock_clk_ops; } else { init.ops = &bcm2835_clock_clk_ops; diff --git a/target/linux/bcm27xx/patches-5.15/950-0152-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch b/target/linux/bcm27xx/patches-5.15/950-0152-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch index 7fec7cb556..85f3e610ad 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0152-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0152-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch @@ -15,7 +15,7 @@ Signed-off-by: Jonathan Bell --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c -@@ -1611,6 +1611,109 @@ command_cleanup: +@@ -1612,6 +1612,109 @@ command_cleanup: } /* @@ -125,7 +125,7 @@ Signed-off-by: Jonathan Bell * non-error returns are a promise to giveback() the urb later * we drop ownership so next owner (or urb unlink) can get it */ -@@ -5436,6 +5539,7 @@ static const struct hc_driver xhci_hc_dr +@@ -5437,6 +5540,7 @@ static const struct hc_driver xhci_hc_dr .endpoint_reset = xhci_endpoint_reset, .check_bandwidth = xhci_check_bandwidth, .reset_bandwidth = xhci_reset_bandwidth, diff --git a/target/linux/bcm27xx/patches-5.15/950-0159-clk-bcm2835-Avoid-null-pointer-exception.patch b/target/linux/bcm27xx/patches-5.15/950-0159-clk-bcm2835-Avoid-null-pointer-exception.patch index 092c7ecffc..ce32b6689c 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0159-clk-bcm2835-Avoid-null-pointer-exception.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0159-clk-bcm2835-Avoid-null-pointer-exception.patch @@ -12,7 +12,7 @@ Signed-off-by: popcornmix --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -2304,9 +2304,11 @@ static bool bcm2835_clk_is_claimed(const +@@ -2335,9 +2335,11 @@ static bool bcm2835_clk_is_claimed(const int i; for (i = 0; i < ARRAY_SIZE(clk_desc_array); i++) { diff --git a/target/linux/bcm27xx/patches-5.15/950-0166-xhci-Use-more-event-ring-segment-table-entries.patch b/target/linux/bcm27xx/patches-5.15/950-0166-xhci-Use-more-event-ring-segment-table-entries.patch index e3f72fe95e..b3f8240db2 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0166-xhci-Use-more-event-ring-segment-table-entries.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0166-xhci-Use-more-event-ring-segment-table-entries.patch @@ -22,7 +22,7 @@ Signed-off-by: Jonathan Bell --- a/drivers/usb/host/xhci-mem.c +++ b/drivers/usb/host/xhci-mem.c -@@ -2511,9 +2511,11 @@ int xhci_mem_init(struct xhci_hcd *xhci, +@@ -2516,9 +2516,11 @@ int xhci_mem_init(struct xhci_hcd *xhci, * Event ring setup: Allocate a normal ring, but also setup * the event ring segment table (ERST). Section 4.9.3. */ @@ -36,7 +36,7 @@ Signed-off-by: Jonathan Bell if (!xhci->event_ring) goto fail; if (xhci_check_trb_in_td_math(xhci) < 0) -@@ -2526,7 +2528,7 @@ int xhci_mem_init(struct xhci_hcd *xhci, +@@ -2531,7 +2533,7 @@ int xhci_mem_init(struct xhci_hcd *xhci, /* set ERST count with the number of entries in the segment table */ val = readl(&xhci->ir_set->erst_size); val &= ERST_SIZE_MASK; diff --git a/target/linux/bcm27xx/patches-5.15/950-0186-clk-bcm2835-Disable-v3d-clock.patch b/target/linux/bcm27xx/patches-5.15/950-0186-clk-bcm2835-Disable-v3d-clock.patch index 21189080a7..230f423bfb 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0186-clk-bcm2835-Disable-v3d-clock.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0186-clk-bcm2835-Disable-v3d-clock.patch @@ -12,7 +12,7 @@ Signed-off-by: popcornmix --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -1735,16 +1735,12 @@ static const struct bcm2835_clk_desc clk +@@ -1765,16 +1765,12 @@ static const struct bcm2835_clk_desc clk .hold_mask = CM_PLLA_HOLDCORE, .fixed_divider = 1, .flags = CLK_SET_RATE_PARENT), @@ -35,7 +35,7 @@ Signed-off-by: popcornmix [BCM2835_PLLA_DSI0] = REGISTER_PLL_DIV( SOC_ALL, .name = "plla_dsi0", -@@ -2045,14 +2041,12 @@ static const struct bcm2835_clk_desc clk +@@ -2075,14 +2071,12 @@ static const struct bcm2835_clk_desc clk .int_bits = 6, .frac_bits = 0, .tcnt_mux = 3), diff --git a/target/linux/bcm27xx/patches-5.15/950-0190-Initialise-rpi-firmware-before-clk-bcm2835.patch b/target/linux/bcm27xx/patches-5.15/950-0190-Initialise-rpi-firmware-before-clk-bcm2835.patch index 1f7c5a2e35..96451c9c75 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0190-Initialise-rpi-firmware-before-clk-bcm2835.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0190-Initialise-rpi-firmware-before-clk-bcm2835.patch @@ -25,7 +25,7 @@ Co-authored-by: Phil Elwell --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -2423,7 +2423,7 @@ static int __init __bcm2835_clk_driver_i +@@ -2454,7 +2454,7 @@ static int __init __bcm2835_clk_driver_i { return platform_driver_register(&bcm2835_clk_driver); } diff --git a/target/linux/bcm27xx/patches-5.15/950-0208-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch b/target/linux/bcm27xx/patches-5.15/950-0208-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch index 7a72dc8576..b668a94790 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0208-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0208-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch @@ -32,7 +32,7 @@ Signed-off-by: Phil Elwell --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c -@@ -3478,6 +3478,7 @@ static int __spi_validate_bits_per_word( +@@ -3480,6 +3480,7 @@ static int __spi_validate_bits_per_word( */ int spi_setup(struct spi_device *spi) { @@ -40,7 +40,7 @@ Signed-off-by: Phil Elwell unsigned bad_bits, ugly_bits; int status; -@@ -3499,6 +3500,14 @@ int spi_setup(struct spi_device *spi) +@@ -3501,6 +3502,14 @@ int spi_setup(struct spi_device *spi) (SPI_TX_DUAL | SPI_TX_QUAD | SPI_TX_OCTAL | SPI_RX_DUAL | SPI_RX_QUAD | SPI_RX_OCTAL))) return -EINVAL; diff --git a/target/linux/bcm27xx/patches-5.15/950-0404-clk-bcm2835-Pass-DT-node-to-rpi_firmware_get.patch b/target/linux/bcm27xx/patches-5.15/950-0404-clk-bcm2835-Pass-DT-node-to-rpi_firmware_get.patch index d0c4afe577..7f7ffa8ffd 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0404-clk-bcm2835-Pass-DT-node-to-rpi_firmware_get.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0404-clk-bcm2835-Pass-DT-node-to-rpi_firmware_get.patch @@ -13,7 +13,7 @@ Signed-off-by: Phil Elwell --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -2339,7 +2339,7 @@ static int bcm2835_clk_probe(struct plat +@@ -2370,7 +2370,7 @@ static int bcm2835_clk_probe(struct plat fw_node = of_parse_phandle(dev->of_node, "firmware", 0); if (fw_node) { diff --git a/target/linux/bcm27xx/patches-5.15/950-0446-drm-vc4-Fix-timings-for-VEC-modes.patch b/target/linux/bcm27xx/patches-5.15/950-0446-drm-vc4-Fix-timings-for-VEC-modes.patch deleted file mode 100644 index 56b635d459..0000000000 --- a/target/linux/bcm27xx/patches-5.15/950-0446-drm-vc4-Fix-timings-for-VEC-modes.patch +++ /dev/null @@ -1,148 +0,0 @@ -From 3edc6e2d440803dfe22288c3ea7d77b4ab934ec8 Mon Sep 17 00:00:00 2001 -From: Mateusz Kwiatkowski -Date: Thu, 15 Jul 2021 01:07:30 +0200 -Subject: [PATCH] drm/vc4: Fix timings for VEC modes - -This commit fixes vertical timings of the VEC (composite output) modes -to accurately represent the 525-line ("NTSC") and 625-line ("PAL") ITU-R -standards. - -Previous timings were actually defined as 502 and 601 lines, resulting -in non-standard 62.69 Hz and 52 Hz signals being generated, -respectively. - -Changes to vc4_crtc.c have also been made, to make the PixelValve -vertical timings accurately correspond to the DRM modeline in interlaced -modes. The resulting VERTA/VERTB register values have been verified -against the reference values set by the Raspberry Pi firmware. - -Signed-off-by: Mateusz Kwiatkowski ---- - drivers/gpu/drm/vc4/vc4_crtc.c | 70 +++++++++++++++++++++------------- - drivers/gpu/drm/vc4/vc4_vec.c | 4 +- - 2 files changed, 45 insertions(+), 29 deletions(-) - ---- a/drivers/gpu/drm/vc4/vc4_crtc.c -+++ b/drivers/gpu/drm/vc4/vc4_crtc.c -@@ -318,8 +318,14 @@ static void vc4_crtc_config_pv(struct dr - bool is_dsi = (vc4_encoder->type == VC4_ENCODER_TYPE_DSI0 || - vc4_encoder->type == VC4_ENCODER_TYPE_DSI1); - bool is_dsi1 = vc4_encoder->type == VC4_ENCODER_TYPE_DSI1; -+ bool is_vec = vc4_encoder->type == VC4_ENCODER_TYPE_VEC; - u32 format = is_dsi1 ? PV_CONTROL_FORMAT_DSIV_24 : PV_CONTROL_FORMAT_24; - u8 ppc = pv_data->pixels_per_clock; -+ -+ u16 vert_bp = mode->crtc_vtotal - mode->crtc_vsync_end; -+ u16 vert_sync = mode->crtc_vsync_end - mode->crtc_vsync_start; -+ u16 vert_fp = mode->crtc_vsync_start - mode->crtc_vdisplay; -+ - bool debug_dump_regs = false; - - if (debug_dump_regs) { -@@ -343,49 +349,59 @@ static void vc4_crtc_config_pv(struct dr - VC4_SET_FIELD(mode->hdisplay * pixel_rep / ppc, - PV_HORZB_HACTIVE)); - -- CRTC_WRITE(PV_VERTA, -- VC4_SET_FIELD(mode->crtc_vtotal - mode->crtc_vsync_end + -- interlace, -- PV_VERTA_VBP) | -- VC4_SET_FIELD(mode->crtc_vsync_end - mode->crtc_vsync_start, -- PV_VERTA_VSYNC)); -- CRTC_WRITE(PV_VERTB, -- VC4_SET_FIELD(mode->crtc_vsync_start - mode->crtc_vdisplay, -- PV_VERTB_VFP) | -- VC4_SET_FIELD(mode->crtc_vdisplay, PV_VERTB_VACTIVE)); -- - if (interlace) { -+ bool odd_field_first = false; -+ u32 field_delay = mode->htotal * pixel_rep / (2 * ppc); -+ u16 vert_bp_even = vert_bp; -+ u16 vert_fp_even = vert_fp; -+ -+ if (is_vec) { -+ /* VEC (composite output) */ -+ ++field_delay; -+ if (mode->htotal == 858) { -+ /* 525-line mode (NTSC or PAL-M) */ -+ odd_field_first = true; -+ } -+ } -+ -+ if (odd_field_first) -+ ++vert_fp_even; -+ else -+ ++vert_bp; -+ - CRTC_WRITE(PV_VERTA_EVEN, -- VC4_SET_FIELD(mode->crtc_vtotal - -- mode->crtc_vsync_end, -- PV_VERTA_VBP) | -- VC4_SET_FIELD(mode->crtc_vsync_end - -- mode->crtc_vsync_start, -- PV_VERTA_VSYNC)); -+ VC4_SET_FIELD(vert_bp_even, PV_VERTA_VBP) | -+ VC4_SET_FIELD(vert_sync, PV_VERTA_VSYNC)); - CRTC_WRITE(PV_VERTB_EVEN, -- VC4_SET_FIELD(mode->crtc_vsync_start - -- mode->crtc_vdisplay, -- PV_VERTB_VFP) | -+ VC4_SET_FIELD(vert_fp_even, PV_VERTB_VFP) | - VC4_SET_FIELD(mode->crtc_vdisplay, PV_VERTB_VACTIVE)); - -- /* We set up first field even mode for HDMI. VEC's -- * NTSC mode would want first field odd instead, once -- * we support it (to do so, set ODD_FIRST and put the -- * delay in VSYNCD_EVEN instead). -+ /* We set up first field even mode for HDMI and VEC's PAL. -+ * For NTSC, we need first field odd. - */ - CRTC_WRITE(PV_V_CONTROL, - PV_VCONTROL_CONTINUOUS | - (is_dsi ? PV_VCONTROL_DSI : 0) | - PV_VCONTROL_INTERLACE | -- VC4_SET_FIELD(mode->htotal * pixel_rep / (2 * ppc), -- PV_VCONTROL_ODD_DELAY)); -- CRTC_WRITE(PV_VSYNCD_EVEN, 0); -+ (odd_field_first -+ ? PV_VCONTROL_ODD_FIRST -+ : VC4_SET_FIELD(field_delay, -+ PV_VCONTROL_ODD_DELAY))); -+ CRTC_WRITE(PV_VSYNCD_EVEN, -+ (odd_field_first ? field_delay : 0)); - } else { - CRTC_WRITE(PV_V_CONTROL, - PV_VCONTROL_CONTINUOUS | - (is_dsi ? PV_VCONTROL_DSI : 0)); - } - -+ CRTC_WRITE(PV_VERTA, -+ VC4_SET_FIELD(vert_bp, PV_VERTA_VBP) | -+ VC4_SET_FIELD(vert_sync, PV_VERTA_VSYNC)); -+ CRTC_WRITE(PV_VERTB, -+ VC4_SET_FIELD(vert_fp, PV_VERTB_VFP) | -+ VC4_SET_FIELD(mode->crtc_vdisplay, PV_VERTB_VACTIVE)); -+ - if (is_dsi) - CRTC_WRITE(PV_HACT_ACT, mode->hdisplay * pixel_rep); - ---- a/drivers/gpu/drm/vc4/vc4_vec.c -+++ b/drivers/gpu/drm/vc4/vc4_vec.c -@@ -256,7 +256,7 @@ static void vc4_vec_ntsc_j_mode_set(stru - static const struct drm_display_mode ntsc_mode = { - DRM_MODE("720x480", DRM_MODE_TYPE_DRIVER, 13500, - 720, 720 + 14, 720 + 14 + 64, 720 + 14 + 64 + 60, 0, -- 480, 480 + 3, 480 + 3 + 3, 480 + 3 + 3 + 16, 0, -+ 480, 480 + 7, 480 + 7 + 6, 525, 0, - DRM_MODE_FLAG_INTERLACE) - }; - -@@ -278,7 +278,7 @@ static void vc4_vec_pal_m_mode_set(struc - static const struct drm_display_mode pal_mode = { - DRM_MODE("720x576", DRM_MODE_TYPE_DRIVER, 13500, - 720, 720 + 20, 720 + 20 + 64, 720 + 20 + 64 + 60, 0, -- 576, 576 + 2, 576 + 2 + 3, 576 + 2 + 3 + 20, 0, -+ 576, 576 + 4, 576 + 4 + 6, 625, 0, - DRM_MODE_FLAG_INTERLACE) - }; - diff --git a/target/linux/bcm27xx/patches-5.15/950-0470-sound-usb-add-device-quirks-for-A4Tech-FHD-1080p-web.patch b/target/linux/bcm27xx/patches-5.15/950-0470-sound-usb-add-device-quirks-for-A4Tech-FHD-1080p-web.patch index 9f0aa6fcd4..c1f31d65dc 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0470-sound-usb-add-device-quirks-for-A4Tech-FHD-1080p-web.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0470-sound-usb-add-device-quirks-for-A4Tech-FHD-1080p-web.patch @@ -16,7 +16,7 @@ Signed-off-by: Jonathan Bell --- a/sound/usb/quirks.c +++ b/sound/usb/quirks.c -@@ -1925,6 +1925,8 @@ static const struct usb_audio_quirk_flag +@@ -1883,6 +1883,8 @@ static const struct usb_audio_quirk_flag QUIRK_FLAG_GENERIC_IMPLICIT_FB), DEVICE_FLG(0x2b53, 0x0031, /* Fiero SC-01 (firmware v1.1.0) */ QUIRK_FLAG_GENERIC_IMPLICIT_FB), diff --git a/target/linux/bcm27xx/patches-5.15/950-0471-sound-usb-call-usb_autopm_get_interface-for-devices-.patch b/target/linux/bcm27xx/patches-5.15/950-0471-sound-usb-call-usb_autopm_get_interface-for-devices-.patch index b195163196..5ca57a6b0a 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0471-sound-usb-call-usb_autopm_get_interface-for-devices-.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0471-sound-usb-call-usb_autopm_get_interface-for-devices-.patch @@ -19,7 +19,7 @@ Signed-off-by: Jonathan Bell --- a/sound/usb/card.c +++ b/sound/usb/card.c -@@ -825,8 +825,14 @@ static int usb_audio_probe(struct usb_in +@@ -843,8 +843,14 @@ static int usb_audio_probe(struct usb_in if (ignore_ctl_error) chip->quirk_flags |= QUIRK_FLAG_IGNORE_CTL_ERROR; diff --git a/target/linux/bcm27xx/patches-5.15/950-0550-clk-bcm2835-Remove-VEC-clock-support.patch b/target/linux/bcm27xx/patches-5.15/950-0550-clk-bcm2835-Remove-VEC-clock-support.patch index dc198ebbcc..b85b2474b2 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0550-clk-bcm2835-Remove-VEC-clock-support.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0550-clk-bcm2835-Remove-VEC-clock-support.patch @@ -10,9 +10,9 @@ Signed-off-by: Dom Cobley --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -2208,21 +2208,6 @@ static const struct bcm2835_clk_desc clk - .frac_bits = 12, - .tcnt_mux = 28), +@@ -2239,21 +2239,6 @@ static const struct bcm2835_clk_desc clk + .tcnt_mux = 28, + .round_up = true), - /* TV encoder clock. Only operating frequency is 108Mhz. */ - [BCM2835_CLOCK_VEC] = REGISTER_PER_CLK( diff --git a/target/linux/bcm27xx/patches-5.15/950-0551-drm-vc4-Add-support-for-gamma-on-BCM2711.patch b/target/linux/bcm27xx/patches-5.15/950-0551-drm-vc4-Add-support-for-gamma-on-BCM2711.patch index 38fbdd0aa1..555636515c 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0551-drm-vc4-Add-support-for-gamma-on-BCM2711.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0551-drm-vc4-Add-support-for-gamma-on-BCM2711.patch @@ -24,7 +24,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/gpu/drm/vc4/vc4_crtc.c +++ b/drivers/gpu/drm/vc4/vc4_crtc.c -@@ -1164,19 +1164,42 @@ int vc4_crtc_init(struct drm_device *drm +@@ -1148,19 +1148,42 @@ int vc4_crtc_init(struct drm_device *drm if (!vc4->hvs->hvs5) { drm_mode_crtc_set_gamma_size(crtc, ARRAY_SIZE(vc4_crtc->lut_r)); diff --git a/target/linux/bcm27xx/patches-5.15/950-0555-drm-vc4-Relax-VEC-modeline-requirements-and-add-prog.patch b/target/linux/bcm27xx/patches-5.15/950-0555-drm-vc4-Relax-VEC-modeline-requirements-and-add-prog.patch index 51fac0e0d4..72c5c2085d 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0555-drm-vc4-Relax-VEC-modeline-requirements-and-add-prog.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0555-drm-vc4-Relax-VEC-modeline-requirements-and-add-prog.patch @@ -17,14 +17,14 @@ Signed-off-by: Mateusz Kwiatkowski --- a/drivers/gpu/drm/vc4/vc4_crtc.c +++ b/drivers/gpu/drm/vc4/vc4_crtc.c -@@ -410,6 +410,7 @@ static void vc4_crtc_config_pv(struct dr +@@ -401,6 +401,7 @@ static void vc4_crtc_config_pv(struct dr CRTC_WRITE(PV_V_CONTROL, PV_VCONTROL_CONTINUOUS | (is_dsi ? PV_VCONTROL_DSI : 0)); + CRTC_WRITE(PV_VSYNCD_EVEN, 0); } - CRTC_WRITE(PV_VERTA, + if (is_dsi) --- a/drivers/gpu/drm/vc4/vc4_vec.c +++ b/drivers/gpu/drm/vc4/vc4_vec.c @@ -423,18 +423,11 @@ static int vc4_vec_connector_atomic_chec diff --git a/target/linux/bcm27xx/patches-5.15/950-0569-drm-vc4-Only-add-gamma-properties-once.patch b/target/linux/bcm27xx/patches-5.15/950-0569-drm-vc4-Only-add-gamma-properties-once.patch index 0c7e76d463..0ad28fa0e1 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0569-drm-vc4-Only-add-gamma-properties-once.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0569-drm-vc4-Only-add-gamma-properties-once.patch @@ -15,7 +15,7 @@ Signed-off-by: Dave Stevenson --- a/drivers/gpu/drm/vc4/vc4_crtc.c +++ b/drivers/gpu/drm/vc4/vc4_crtc.c -@@ -1196,7 +1196,7 @@ int vc4_crtc_init(struct drm_device *drm +@@ -1180,7 +1180,7 @@ int vc4_crtc_init(struct drm_device *drm /* We support CTM, but only for one CRTC at a time. It's therefore * implemented as private driver state in vc4_kms, not here. */ diff --git a/target/linux/bcm27xx/patches-5.15/950-0600-xhci-quirks-add-link-TRB-quirk-for-VL805.patch b/target/linux/bcm27xx/patches-5.15/950-0600-xhci-quirks-add-link-TRB-quirk-for-VL805.patch index 87de92c62a..6c2840d633 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0600-xhci-quirks-add-link-TRB-quirk-for-VL805.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0600-xhci-quirks-add-link-TRB-quirk-for-VL805.patch @@ -50,11 +50,11 @@ Signed-off-by: Jonathan Bell addr = xhci_trb_virt_to_dma(new_seg, new_deq); --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h -@@ -1903,6 +1903,7 @@ struct xhci_hcd { - #define XHCI_NO_SOFT_RETRY BIT_ULL(40) +@@ -1904,6 +1904,7 @@ struct xhci_hcd { #define XHCI_BROKEN_D3COLD BIT_ULL(41) #define XHCI_EP_CTX_BROKEN_DCS BIT_ULL(42) -+#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(43) + #define XHCI_SUSPEND_RESUME_CLKS BIT_ULL(43) ++#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(44) unsigned int num_active_eps; unsigned int limit_active_eps; diff --git a/target/linux/bcm27xx/patches-5.15/950-0605-xhci-refactor-out-TRBS_PER_SEGMENT-define-in-runtime.patch b/target/linux/bcm27xx/patches-5.15/950-0605-xhci-refactor-out-TRBS_PER_SEGMENT-define-in-runtime.patch index e6d2bcebb5..2b7435368a 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0605-xhci-refactor-out-TRBS_PER_SEGMENT-define-in-runtime.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0605-xhci-refactor-out-TRBS_PER_SEGMENT-define-in-runtime.patch @@ -145,7 +145,7 @@ Signed-off-by: Jonathan Bell if (ret) return -ENOMEM; -@@ -1811,7 +1815,7 @@ int xhci_alloc_erst(struct xhci_hcd *xhc +@@ -1816,7 +1820,7 @@ int xhci_alloc_erst(struct xhci_hcd *xhc for (val = 0; val < evt_ring->num_segs; val++) { entry = &erst->entries[val]; entry->seg_addr = cpu_to_le64(seg->dma); diff --git a/target/linux/bcm27xx/patches-5.15/950-0606-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch b/target/linux/bcm27xx/patches-5.15/950-0606-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch index 5c64c9881d..39ddab76e8 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0606-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0606-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch @@ -63,11 +63,11 @@ Signed-off-by: Jonathan Bell if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA && --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h -@@ -1905,6 +1905,7 @@ struct xhci_hcd { - #define XHCI_BROKEN_D3COLD BIT_ULL(41) +@@ -1906,6 +1906,7 @@ struct xhci_hcd { #define XHCI_EP_CTX_BROKEN_DCS BIT_ULL(42) - #define XHCI_AVOID_DQ_ON_LINK BIT_ULL(43) -+#define XHCI_VLI_TRB_CACHE_BUG BIT_ULL(44) + #define XHCI_SUSPEND_RESUME_CLKS BIT_ULL(43) + #define XHCI_AVOID_DQ_ON_LINK BIT_ULL(44) ++#define XHCI_VLI_TRB_CACHE_BUG BIT_ULL(45) unsigned int num_active_eps; unsigned int limit_active_eps; diff --git a/target/linux/bcm27xx/patches-5.15/950-0654-drm-vc4-Disable-Gamma-control-on-HVS5-due-to-issues-.patch b/target/linux/bcm27xx/patches-5.15/950-0654-drm-vc4-Disable-Gamma-control-on-HVS5-due-to-issues-.patch index 80edae5cf5..91363766aa 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0654-drm-vc4-Disable-Gamma-control-on-HVS5-due-to-issues-.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0654-drm-vc4-Disable-Gamma-control-on-HVS5-due-to-issues-.patch @@ -17,7 +17,7 @@ Signed-off-by: Dave Stevenson --- a/drivers/gpu/drm/vc4/vc4_crtc.c +++ b/drivers/gpu/drm/vc4/vc4_crtc.c -@@ -1182,15 +1182,9 @@ int vc4_crtc_init(struct drm_device *drm +@@ -1166,15 +1166,9 @@ int vc4_crtc_init(struct drm_device *drm if (!vc4->hvs->hvs5) { drm_mode_crtc_set_gamma_size(crtc, ARRAY_SIZE(vc4_crtc->lut_r)); diff --git a/target/linux/bcm27xx/patches-5.15/950-0717-usb-xhci-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch b/target/linux/bcm27xx/patches-5.15/950-0717-usb-xhci-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch index 74c8a4db98..ab68debd2f 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0717-usb-xhci-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0717-usb-xhci-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch @@ -86,11 +86,11 @@ Signed-off-by: Jonathan Bell first_trb = false; --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h -@@ -1906,6 +1906,7 @@ struct xhci_hcd { - #define XHCI_EP_CTX_BROKEN_DCS BIT_ULL(42) - #define XHCI_AVOID_DQ_ON_LINK BIT_ULL(43) - #define XHCI_VLI_TRB_CACHE_BUG BIT_ULL(44) -+#define XHCI_VLI_SS_BULK_OUT_BUG BIT_ULL(45) +@@ -1907,6 +1907,7 @@ struct xhci_hcd { + #define XHCI_SUSPEND_RESUME_CLKS BIT_ULL(43) + #define XHCI_AVOID_DQ_ON_LINK BIT_ULL(44) + #define XHCI_VLI_TRB_CACHE_BUG BIT_ULL(45) ++#define XHCI_VLI_SS_BULK_OUT_BUG BIT_ULL(46) unsigned int num_active_eps; unsigned int limit_active_eps; diff --git a/target/linux/bcm27xx/patches-5.15/950-0741-drm-vc4-hvs-Use-pointer-to-HVS-in-HVS_READ-and-HVS_W.patch b/target/linux/bcm27xx/patches-5.15/950-0741-drm-vc4-hvs-Use-pointer-to-HVS-in-HVS_READ-and-HVS_W.patch index 5fd8ea995a..aa82f3c7e1 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0741-drm-vc4-hvs-Use-pointer-to-HVS-in-HVS_READ-and-HVS_W.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0741-drm-vc4-hvs-Use-pointer-to-HVS-in-HVS_READ-and-HVS_W.patch @@ -45,7 +45,7 @@ Signed-off-by: Maxime Ripard *hpos += mode->crtc_htotal / 2; } -@@ -449,6 +451,7 @@ static void vc4_crtc_config_pv(struct dr +@@ -433,6 +435,7 @@ static void vc4_crtc_config_pv(struct dr static void require_hvs_enabled(struct drm_device *dev) { struct vc4_dev *vc4 = to_vc4_dev(dev); @@ -53,7 +53,7 @@ Signed-off-by: Maxime Ripard WARN_ON_ONCE((HVS_READ(SCALER_DISPCTRL) & SCALER_DISPCTRL_ENABLE) != SCALER_DISPCTRL_ENABLE); -@@ -462,6 +465,7 @@ static int vc4_crtc_disable(struct drm_c +@@ -446,6 +449,7 @@ static int vc4_crtc_disable(struct drm_c struct vc4_encoder *vc4_encoder = to_vc4_encoder(encoder); struct vc4_crtc *vc4_crtc = to_vc4_crtc(crtc); struct drm_device *dev = crtc->dev; @@ -61,7 +61,7 @@ Signed-off-by: Maxime Ripard int ret; CRTC_WRITE(PV_V_CONTROL, -@@ -491,7 +495,7 @@ static int vc4_crtc_disable(struct drm_c +@@ -475,7 +479,7 @@ static int vc4_crtc_disable(struct drm_c vc4_encoder->post_crtc_disable(encoder, state); vc4_crtc_pixelvalve_reset(crtc); @@ -70,7 +70,7 @@ Signed-off-by: Maxime Ripard if (vc4_encoder && vc4_encoder->post_crtc_powerdown) vc4_encoder->post_crtc_powerdown(encoder, state); -@@ -517,6 +521,7 @@ static struct drm_encoder *vc4_crtc_get_ +@@ -501,6 +505,7 @@ static struct drm_encoder *vc4_crtc_get_ int vc4_crtc_disable_at_boot(struct drm_crtc *crtc) { struct drm_device *drm = crtc->dev; @@ -78,7 +78,7 @@ Signed-off-by: Maxime Ripard struct vc4_crtc *vc4_crtc = to_vc4_crtc(crtc); enum vc4_encoder_type encoder_type; const struct vc4_pv_data *pv_data; -@@ -538,7 +543,7 @@ int vc4_crtc_disable_at_boot(struct drm_ +@@ -522,7 +527,7 @@ int vc4_crtc_disable_at_boot(struct drm_ if (!(CRTC_READ(PV_V_CONTROL) & PV_VCONTROL_VIDEN)) return 0; @@ -87,7 +87,7 @@ Signed-off-by: Maxime Ripard if (channel < 0) return 0; -@@ -754,6 +759,7 @@ static void vc4_crtc_handle_page_flip(st +@@ -738,6 +743,7 @@ static void vc4_crtc_handle_page_flip(st struct drm_crtc *crtc = &vc4_crtc->base; struct drm_device *dev = crtc->dev; struct vc4_dev *vc4 = to_vc4_dev(dev); @@ -95,7 +95,7 @@ Signed-off-by: Maxime Ripard u32 chan = vc4_crtc->current_hvs_channel; unsigned long flags; -@@ -772,7 +778,7 @@ static void vc4_crtc_handle_page_flip(st +@@ -756,7 +762,7 @@ static void vc4_crtc_handle_page_flip(st * the CRTC and encoder already reconfigured, leading to * underruns. This can be seen when reconfiguring the CRTC. */ diff --git a/target/linux/bcm27xx/patches-5.15/950-0742-drm-vc4-hvs-Defer-dlist-slots-deallocation.patch b/target/linux/bcm27xx/patches-5.15/950-0742-drm-vc4-hvs-Defer-dlist-slots-deallocation.patch index c6efd540ad..8f69962640 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0742-drm-vc4-hvs-Defer-dlist-slots-deallocation.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0742-drm-vc4-hvs-Defer-dlist-slots-deallocation.patch @@ -80,7 +80,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/gpu/drm/vc4/vc4_crtc.c +++ b/drivers/gpu/drm/vc4/vc4_crtc.c -@@ -959,14 +959,8 @@ void vc4_crtc_destroy_state(struct drm_c +@@ -943,14 +943,8 @@ void vc4_crtc_destroy_state(struct drm_c struct vc4_dev *vc4 = to_vc4_dev(crtc->dev); struct vc4_crtc_state *vc4_state = to_vc4_crtc_state(state); diff --git a/target/linux/bcm27xx/patches-5.15/950-0753-drm-vc4-Fix-out-of-order-frames-during-asynchronous-.patch b/target/linux/bcm27xx/patches-5.15/950-0753-drm-vc4-Fix-out-of-order-frames-during-asynchronous-.patch index a5505849e6..1f765aeb04 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0753-drm-vc4-Fix-out-of-order-frames-during-asynchronous-.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0753-drm-vc4-Fix-out-of-order-frames-during-asynchronous-.patch @@ -37,7 +37,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/gpu/drm/vc4/vc4_crtc.c +++ b/drivers/gpu/drm/vc4/vc4_crtc.c -@@ -813,6 +813,7 @@ struct vc4_async_flip_state { +@@ -797,6 +797,7 @@ struct vc4_async_flip_state { struct drm_pending_vblank_event *event; struct vc4_seqno_cb cb; @@ -45,7 +45,7 @@ Signed-off-by: Maxime Ripard }; /* Called when the V3D execution for the BO being flipped to is done, so that -@@ -858,6 +859,39 @@ vc4_async_page_flip_complete(struct vc4_ +@@ -842,6 +843,39 @@ vc4_async_page_flip_complete(struct vc4_ kfree(flip_state); } @@ -85,7 +85,7 @@ Signed-off-by: Maxime Ripard /* Implements async (non-vblank-synced) page flips. * * The page flip ioctl needs to return immediately, so we grab the -@@ -918,8 +952,7 @@ static int vc4_async_page_flip(struct dr +@@ -902,8 +936,7 @@ static int vc4_async_page_flip(struct dr */ drm_atomic_set_fb_for_plane(plane->state, fb); diff --git a/target/linux/bcm27xx/patches-5.15/950-0805-drm-vc4-Force-trigger-of-dlist-update-on-margins-cha.patch b/target/linux/bcm27xx/patches-5.15/950-0805-drm-vc4-Force-trigger-of-dlist-update-on-margins-cha.patch index 44fb34b37b..7ff4c0f06f 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0805-drm-vc4-Force-trigger-of-dlist-update-on-margins-cha.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0805-drm-vc4-Force-trigger-of-dlist-update-on-margins-cha.patch @@ -19,7 +19,7 @@ Signed-off-by: Dave Stevenson --- a/drivers/gpu/drm/vc4/vc4_crtc.c +++ b/drivers/gpu/drm/vc4/vc4_crtc.c -@@ -728,10 +728,16 @@ static int vc4_crtc_atomic_check(struct +@@ -712,10 +712,16 @@ static int vc4_crtc_atomic_check(struct if (conn_state->crtc != crtc) continue; diff --git a/target/linux/bcm27xx/patches-5.15/950-0807-Revert-drm-vc4-hvs-Defer-dlist-slots-deallocation.patch b/target/linux/bcm27xx/patches-5.15/950-0807-Revert-drm-vc4-hvs-Defer-dlist-slots-deallocation.patch index 65eddde794..9a14da02b1 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0807-Revert-drm-vc4-hvs-Defer-dlist-slots-deallocation.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0807-Revert-drm-vc4-hvs-Defer-dlist-slots-deallocation.patch @@ -13,7 +13,7 @@ This reverts commit e99a1b69da07ee3b89a6b8005b854e6c04bfb450. --- a/drivers/gpu/drm/vc4/vc4_crtc.c +++ b/drivers/gpu/drm/vc4/vc4_crtc.c -@@ -998,8 +998,14 @@ void vc4_crtc_destroy_state(struct drm_c +@@ -982,8 +982,14 @@ void vc4_crtc_destroy_state(struct drm_c struct vc4_dev *vc4 = to_vc4_dev(crtc->dev); struct vc4_crtc_state *vc4_state = to_vc4_crtc_state(state); diff --git a/target/linux/bcm27xx/patches-5.15/950-0873-clk-bcm2835-use-subsys_initcall-for-the-clock-driver.patch b/target/linux/bcm27xx/patches-5.15/950-0873-clk-bcm2835-use-subsys_initcall-for-the-clock-driver.patch index 6ab0df5954..8557609376 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0873-clk-bcm2835-use-subsys_initcall-for-the-clock-driver.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0873-clk-bcm2835-use-subsys_initcall-for-the-clock-driver.patch @@ -14,7 +14,7 @@ Signed-off-by: Alberto Solavagione --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -2408,7 +2408,11 @@ static int __init __bcm2835_clk_driver_i +@@ -2439,7 +2439,11 @@ static int __init __bcm2835_clk_driver_i { return platform_driver_register(&bcm2835_clk_driver); } diff --git a/target/linux/bcm27xx/patches-5.15/950-0898-drm-vc4-Consolidate-Hardware-Revision-Check.patch b/target/linux/bcm27xx/patches-5.15/950-0898-drm-vc4-Consolidate-Hardware-Revision-Check.patch index ac22a96c3f..8699bed008 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0898-drm-vc4-Consolidate-Hardware-Revision-Check.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0898-drm-vc4-Consolidate-Hardware-Revision-Check.patch @@ -32,7 +32,7 @@ Signed-off-by: Maxime Ripard return fifo_len_bytes - 3 * HVS_FIFO_LATENCY_PIX - 1; return fifo_len_bytes - 3 * HVS_FIFO_LATENCY_PIX; -@@ -425,7 +425,7 @@ static void vc4_crtc_config_pv(struct dr +@@ -409,7 +409,7 @@ static void vc4_crtc_config_pv(struct dr if (is_dsi) CRTC_WRITE(PV_HACT_ACT, mode->hdisplay * pixel_rep); @@ -41,7 +41,7 @@ Signed-off-by: Maxime Ripard CRTC_WRITE(PV_MUX_CFG, VC4_SET_FIELD(PV_MUX_CFG_RGB_PIXEL_MUX_MODE_NO_SWAP, PV_MUX_CFG_RGB_PIXEL_MUX_MODE)); -@@ -883,7 +883,7 @@ static int vc4_async_set_fence_cb(struct +@@ -867,7 +867,7 @@ static int vc4_async_set_fence_cb(struct struct vc4_dev *vc4 = to_vc4_dev(dev); struct dma_fence *fence; @@ -50,7 +50,7 @@ Signed-off-by: Maxime Ripard struct vc4_bo *bo = to_vc4_bo(&cma_bo->base); return vc4_queue_seqno_cb(dev, &flip_state->cb, bo->seqno, -@@ -1225,13 +1225,13 @@ int vc4_crtc_init(struct drm_device *drm +@@ -1209,13 +1209,13 @@ int vc4_crtc_init(struct drm_device *drm crtc_funcs, NULL); drm_crtc_helper_add(crtc, crtc_helper_funcs); diff --git a/target/linux/bcm27xx/patches-5.15/950-0905-drm-vc4-crtc-Use-an-union-to-store-the-page-flip-cal.patch b/target/linux/bcm27xx/patches-5.15/950-0905-drm-vc4-crtc-Use-an-union-to-store-the-page-flip-cal.patch index ef92e7b2aa..9d03e60f5a 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0905-drm-vc4-crtc-Use-an-union-to-store-the-page-flip-cal.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0905-drm-vc4-crtc-Use-an-union-to-store-the-page-flip-cal.patch @@ -15,7 +15,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/gpu/drm/vc4/vc4_crtc.c +++ b/drivers/gpu/drm/vc4/vc4_crtc.c -@@ -818,18 +818,18 @@ struct vc4_async_flip_state { +@@ -802,18 +802,18 @@ struct vc4_async_flip_state { struct drm_framebuffer *old_fb; struct drm_pending_vblank_event *event; @@ -39,7 +39,7 @@ Signed-off-by: Maxime Ripard struct drm_crtc *crtc = flip_state->crtc; struct drm_device *dev = crtc->dev; struct drm_plane *plane = crtc->primary; -@@ -865,13 +865,21 @@ vc4_async_page_flip_complete(struct vc4_ +@@ -849,13 +849,21 @@ vc4_async_page_flip_complete(struct vc4_ kfree(flip_state); } @@ -63,7 +63,7 @@ Signed-off-by: Maxime Ripard dma_fence_put(fence); } -@@ -886,14 +894,14 @@ static int vc4_async_set_fence_cb(struct +@@ -870,14 +878,14 @@ static int vc4_async_set_fence_cb(struct if (!vc4->is_vc5) { struct vc4_bo *bo = to_vc4_bo(&cma_bo->base); diff --git a/target/linux/bcm27xx/patches-5.15/950-0906-drm-vc4-crtc-Move-the-BO-handling-out-of-common-page.patch b/target/linux/bcm27xx/patches-5.15/950-0906-drm-vc4-crtc-Move-the-BO-handling-out-of-common-page.patch index 958f4e8d38..a3a291d97e 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0906-drm-vc4-crtc-Move-the-BO-handling-out-of-common-page.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0906-drm-vc4-crtc-Move-the-BO-handling-out-of-common-page.patch @@ -15,7 +15,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/gpu/drm/vc4/vc4_crtc.c +++ b/drivers/gpu/drm/vc4/vc4_crtc.c -@@ -846,21 +846,8 @@ vc4_async_page_flip_complete(struct vc4_ +@@ -830,21 +830,8 @@ vc4_async_page_flip_complete(struct vc4_ drm_crtc_vblank_put(crtc); drm_framebuffer_put(flip_state->fb); @@ -38,7 +38,7 @@ Signed-off-by: Maxime Ripard kfree(flip_state); } -@@ -869,8 +856,27 @@ static void vc4_async_page_flip_seqno_co +@@ -853,8 +840,27 @@ static void vc4_async_page_flip_seqno_co { struct vc4_async_flip_state *flip_state = container_of(cb, struct vc4_async_flip_state, cb.seqno); diff --git a/target/linux/bcm27xx/patches-5.15/950-0907-drm-vc4-crtc-Move-the-BO-Handling-out-of-Common-Page.patch b/target/linux/bcm27xx/patches-5.15/950-0907-drm-vc4-crtc-Move-the-BO-Handling-out-of-Common-Page.patch index d3b680a56c..1c60667be6 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0907-drm-vc4-crtc-Move-the-BO-Handling-out-of-Common-Page.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0907-drm-vc4-crtc-Move-the-BO-Handling-out-of-Common-Page.patch @@ -20,7 +20,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/gpu/drm/vc4/vc4_crtc.c +++ b/drivers/gpu/drm/vc4/vc4_crtc.c -@@ -912,40 +912,19 @@ static int vc4_async_set_fence_cb(struct +@@ -896,40 +896,19 @@ static int vc4_async_set_fence_cb(struct return 0; } @@ -67,7 +67,7 @@ Signed-off-by: Maxime Ripard drm_framebuffer_get(fb); flip_state->fb = fb; -@@ -978,6 +957,48 @@ static int vc4_async_page_flip(struct dr +@@ -962,6 +941,48 @@ static int vc4_async_page_flip(struct dr return 0; } diff --git a/target/linux/bcm27xx/patches-5.15/950-0908-drm-vc4-crtc-Don-t-call-into-BO-Handling-on-Async-Pa.patch b/target/linux/bcm27xx/patches-5.15/950-0908-drm-vc4-crtc-Don-t-call-into-BO-Handling-on-Async-Pa.patch index 96941cb20f..c935dda7c3 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0908-drm-vc4-crtc-Don-t-call-into-BO-Handling-on-Async-Pa.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0908-drm-vc4-crtc-Don-t-call-into-BO-Handling-on-Async-Pa.patch @@ -15,7 +15,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/gpu/drm/vc4/vc4_crtc.c +++ b/drivers/gpu/drm/vc4/vc4_crtc.c -@@ -999,16 +999,31 @@ static int vc4_async_page_flip(struct dr +@@ -983,16 +983,31 @@ static int vc4_async_page_flip(struct dr return 0; } diff --git a/target/linux/bcm53xx/patches-5.15/180-usb-xhci-add-support-for-performing-fake-doorbell.patch b/target/linux/bcm53xx/patches-5.15/180-usb-xhci-add-support-for-performing-fake-doorbell.patch index 285dd8df84..239c140c9b 100644 --- a/target/linux/bcm53xx/patches-5.15/180-usb-xhci-add-support-for-performing-fake-doorbell.patch +++ b/target/linux/bcm53xx/patches-5.15/180-usb-xhci-add-support-for-performing-fake-doorbell.patch @@ -127,10 +127,10 @@ it on BCM4708 family. /* --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h -@@ -1903,6 +1903,7 @@ struct xhci_hcd { - #define XHCI_NO_SOFT_RETRY BIT_ULL(40) +@@ -1904,6 +1904,7 @@ struct xhci_hcd { #define XHCI_BROKEN_D3COLD BIT_ULL(41) #define XHCI_EP_CTX_BROKEN_DCS BIT_ULL(42) + #define XHCI_SUSPEND_RESUME_CLKS BIT_ULL(43) +#define XHCI_FAKE_DOORBELL BIT_ULL(44) unsigned int num_active_eps; diff --git a/target/linux/generic/backport-5.15/821-v5.16-Bluetooth-btusb-Support-public-address-configuration.patch b/target/linux/generic/backport-5.15/821-v5.16-Bluetooth-btusb-Support-public-address-configuration.patch index feaabc9d11..daa3cac4ef 100644 --- a/target/linux/generic/backport-5.15/821-v5.16-Bluetooth-btusb-Support-public-address-configuration.patch +++ b/target/linux/generic/backport-5.15/821-v5.16-Bluetooth-btusb-Support-public-address-configuration.patch @@ -41,7 +41,7 @@ Signed-off-by: Marcel Holtmann static void btusb_mtk_wmt_recv(struct urb *urb) { struct hci_dev *hdev = urb->context; -@@ -3900,6 +3917,7 @@ static int btusb_probe(struct usb_interf +@@ -3914,6 +3931,7 @@ static int btusb_probe(struct usb_interf hdev->shutdown = btusb_mtk_shutdown; hdev->manufacturer = 70; hdev->cmd_timeout = btusb_mtk_cmd_timeout; diff --git a/target/linux/generic/hack-5.15/661-kernel-ct-size-the-hashtable-more-adequately.patch b/target/linux/generic/hack-5.15/661-kernel-ct-size-the-hashtable-more-adequately.patch index 134e2100c8..683aa8a8df 100644 --- a/target/linux/generic/hack-5.15/661-kernel-ct-size-the-hashtable-more-adequately.patch +++ b/target/linux/generic/hack-5.15/661-kernel-ct-size-the-hashtable-more-adequately.patch @@ -14,7 +14,7 @@ Signed-off-by: Rui Salvaterra --- a/net/netfilter/nf_conntrack_core.c +++ b/net/netfilter/nf_conntrack_core.c -@@ -2727,7 +2727,7 @@ int nf_conntrack_init_start(void) +@@ -2735,7 +2735,7 @@ int nf_conntrack_init_start(void) if (!nf_conntrack_htable_size) { nf_conntrack_htable_size diff --git a/target/linux/generic/hack-5.15/721-net-add-packet-mangeling.patch b/target/linux/generic/hack-5.15/721-net-add-packet-mangeling.patch index 206e16cb17..81993e3569 100644 --- a/target/linux/generic/hack-5.15/721-net-add-packet-mangeling.patch +++ b/target/linux/generic/hack-5.15/721-net-add-packet-mangeling.patch @@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau */ --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -2852,6 +2852,10 @@ static inline int pskb_trim(struct sk_bu +@@ -2854,6 +2854,10 @@ static inline int pskb_trim(struct sk_bu return (len < skb->len) ? __pskb_trim(skb, len) : 0; } @@ -82,7 +82,7 @@ Signed-off-by: Felix Fietkau /** * pskb_trim_unique - remove end from a paged unique (not cloned) buffer * @skb: buffer to alter -@@ -3002,16 +3006,6 @@ static inline struct sk_buff *dev_alloc_ +@@ -3004,16 +3008,6 @@ static inline struct sk_buff *dev_alloc_ } diff --git a/target/linux/generic/hack-5.15/760-net-usb-r8152-add-LED-configuration-from-OF.patch b/target/linux/generic/hack-5.15/760-net-usb-r8152-add-LED-configuration-from-OF.patch index c54332f71c..2ac9dcf07d 100644 --- a/target/linux/generic/hack-5.15/760-net-usb-r8152-add-LED-configuration-from-OF.patch +++ b/target/linux/generic/hack-5.15/760-net-usb-r8152-add-LED-configuration-from-OF.patch @@ -22,7 +22,7 @@ Signed-off-by: David Bauer #include #include #include -@@ -6861,6 +6862,22 @@ static void rtl_tally_reset(struct r8152 +@@ -6863,6 +6864,22 @@ static void rtl_tally_reset(struct r8152 ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data); } @@ -45,7 +45,7 @@ Signed-off-by: David Bauer static void r8152b_init(struct r8152 *tp) { u32 ocp_data; -@@ -6902,6 +6919,8 @@ static void r8152b_init(struct r8152 *tp +@@ -6904,6 +6921,8 @@ static void r8152b_init(struct r8152 *tp ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL); ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN); ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data); @@ -54,7 +54,7 @@ Signed-off-by: David Bauer } static void r8153_init(struct r8152 *tp) -@@ -7042,6 +7061,8 @@ static void r8153_init(struct r8152 *tp) +@@ -7044,6 +7063,8 @@ static void r8153_init(struct r8152 *tp) tp->coalesce = COALESCE_SLOW; break; } @@ -63,7 +63,7 @@ Signed-off-by: David Bauer } static void r8153b_init(struct r8152 *tp) -@@ -7124,6 +7145,8 @@ static void r8153b_init(struct r8152 *tp +@@ -7126,6 +7147,8 @@ static void r8153b_init(struct r8152 *tp rtl_tally_reset(tp); tp->coalesce = 15000; /* 15 us */ diff --git a/target/linux/generic/pending-5.15/655-increase_skb_pad.patch b/target/linux/generic/pending-5.15/655-increase_skb_pad.patch index 7fc1c588b3..d1bb72d353 100644 --- a/target/linux/generic/pending-5.15/655-increase_skb_pad.patch +++ b/target/linux/generic/pending-5.15/655-increase_skb_pad.patch @@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -2818,7 +2818,7 @@ static inline int pskb_network_may_pull( +@@ -2820,7 +2820,7 @@ static inline int pskb_network_may_pull( * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8) */ #ifndef NET_SKB_PAD diff --git a/target/linux/generic/pending-5.15/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/pending-5.15/680-NET-skip-GRO-for-foreign-MAC-addresses.patch index 41190fcfd4..72938abd37 100644 --- a/target/linux/generic/pending-5.15/680-NET-skip-GRO-for-foreign-MAC-addresses.patch +++ b/target/linux/generic/pending-5.15/680-NET-skip-GRO-for-foreign-MAC-addresses.patch @@ -22,7 +22,7 @@ Signed-off-by: Felix Fietkau #endif --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -891,6 +891,7 @@ struct sk_buff { +@@ -892,6 +892,7 @@ struct sk_buff { #ifdef CONFIG_IPV6_NDISC_NODETYPE __u8 ndisc_nodetype:2; #endif diff --git a/target/linux/ipq40xx/patches-5.15/301-arm-compressed-add-appended-DTB-section.patch b/target/linux/ipq40xx/patches-5.15/301-arm-compressed-add-appended-DTB-section.patch index 99e33632c4..0448574e7e 100644 --- a/target/linux/ipq40xx/patches-5.15/301-arm-compressed-add-appended-DTB-section.patch +++ b/target/linux/ipq40xx/patches-5.15/301-arm-compressed-add-appended-DTB-section.patch @@ -26,7 +26,7 @@ Signed-off-by: Robert Marko --- a/arch/arm/boot/compressed/vmlinux.lds.S +++ b/arch/arm/boot/compressed/vmlinux.lds.S -@@ -101,6 +101,13 @@ SECTIONS +@@ -103,6 +103,13 @@ SECTIONS _edata = .; @@ -40,7 +40,7 @@ Signed-off-by: Robert Marko /* * The image_end section appears after any additional loadable sections * that the linker may decide to insert in the binary image. Having -@@ -138,4 +145,4 @@ SECTIONS +@@ -140,4 +147,4 @@ SECTIONS ARM_ASSERTS } diff --git a/target/linux/ipq40xx/patches-5.15/400-mmc-sdhci-sdhci-msm-use-sdhci_set_clock-instead-of-s.patch b/target/linux/ipq40xx/patches-5.15/400-mmc-sdhci-sdhci-msm-use-sdhci_set_clock-instead-of-s.patch index 23fef71b2b..3a3be91709 100644 --- a/target/linux/ipq40xx/patches-5.15/400-mmc-sdhci-sdhci-msm-use-sdhci_set_clock-instead-of-s.patch +++ b/target/linux/ipq40xx/patches-5.15/400-mmc-sdhci-sdhci-msm-use-sdhci_set_clock-instead-of-s.patch @@ -13,7 +13,7 @@ Signed-off-by: Robert Marko --- a/drivers/mmc/host/sdhci-msm.c +++ b/drivers/mmc/host/sdhci-msm.c -@@ -2446,7 +2446,7 @@ MODULE_DEVICE_TABLE(of, sdhci_msm_dt_mat +@@ -2447,7 +2447,7 @@ MODULE_DEVICE_TABLE(of, sdhci_msm_dt_mat static const struct sdhci_ops sdhci_msm_ops = { .reset = sdhci_msm_reset, diff --git a/target/linux/mediatek/patches-5.15/200-phy-phy-mtk-tphy-Add-hifsys-support.patch b/target/linux/mediatek/patches-5.15/200-phy-phy-mtk-tphy-Add-hifsys-support.patch index 860728f02d..cfb0556d1e 100644 --- a/target/linux/mediatek/patches-5.15/200-phy-phy-mtk-tphy-Add-hifsys-support.patch +++ b/target/linux/mediatek/patches-5.15/200-phy-phy-mtk-tphy-Add-hifsys-support.patch @@ -47,7 +47,7 @@ Subject: [PATCH] phy: phy-mtk-tphy: Add hifsys-support tmp = readl(u3_banks->phya + U3P_U3_PHYA_DA_REG0); tmp &= ~(P3A_RG_XTAL_EXT_PE1H | P3A_RG_XTAL_EXT_PE2H); tmp |= P3A_RG_XTAL_EXT_PE1H_VAL(0x2) | P3A_RG_XTAL_EXT_PE2H_VAL(0x2); -@@ -1436,6 +1446,16 @@ static int mtk_tphy_probe(struct platfor +@@ -1437,6 +1447,16 @@ static int mtk_tphy_probe(struct platfor &tphy->src_coef); } diff --git a/target/linux/mediatek/patches-5.15/410-bt-mtk-serial-fix.patch b/target/linux/mediatek/patches-5.15/410-bt-mtk-serial-fix.patch index a5836a8268..e61b3dd94c 100644 --- a/target/linux/mediatek/patches-5.15/410-bt-mtk-serial-fix.patch +++ b/target/linux/mediatek/patches-5.15/410-bt-mtk-serial-fix.patch @@ -19,7 +19,7 @@ }, [PORT_NPCM] = { .name = "Nuvoton 16550", -@@ -2745,6 +2745,11 @@ serial8250_do_set_termios(struct uart_po +@@ -2748,6 +2748,11 @@ serial8250_do_set_termios(struct uart_po unsigned long flags; unsigned int baud, quot, frac = 0; diff --git a/target/linux/mediatek/patches-5.15/801-phy-phy-mtk-tphy-Add-PCIe-2-lane-efuse-support.patch b/target/linux/mediatek/patches-5.15/801-phy-phy-mtk-tphy-Add-PCIe-2-lane-efuse-support.patch index 4c2fd18b3b..691a7c0398 100644 --- a/target/linux/mediatek/patches-5.15/801-phy-phy-mtk-tphy-Add-PCIe-2-lane-efuse-support.patch +++ b/target/linux/mediatek/patches-5.15/801-phy-phy-mtk-tphy-Add-PCIe-2-lane-efuse-support.patch @@ -84,7 +84,7 @@ Signed-off-by: Zhanyong Wang static void phy_parse_property(struct mtk_tphy *tphy, struct mtk_phy_instance *instance) { -@@ -1143,6 +1186,40 @@ static int phy_efuse_get(struct mtk_tphy +@@ -1144,6 +1187,40 @@ static int phy_efuse_get(struct mtk_tphy dev_dbg(dev, "u3 efuse - intr %x, rx_imp %x, tx_imp %x\n", instance->efuse_intr, instance->efuse_rx_imp,instance->efuse_tx_imp); @@ -125,7 +125,7 @@ Signed-off-by: Zhanyong Wang break; default: dev_err(dev, "no sw efuse for type %d\n", instance->type); -@@ -1174,6 +1251,31 @@ static void phy_efuse_set(struct mtk_phy +@@ -1175,6 +1252,31 @@ static void phy_efuse_set(struct mtk_phy writel(tmp, u2_banks->com + U3P_USBPHYACR1); break; case PHY_TYPE_USB3: @@ -157,7 +157,7 @@ Signed-off-by: Zhanyong Wang case PHY_TYPE_PCIE: tmp = readl(u3_banks->phyd + U3P_U3_PHYD_RSV); tmp |= P3D_RG_EFUSE_AUTO_LOAD_DIS; -@@ -1195,6 +1297,34 @@ static void phy_efuse_set(struct mtk_phy +@@ -1196,6 +1298,34 @@ static void phy_efuse_set(struct mtk_phy tmp &= ~P3A_RG_IEXT_INTR; tmp |= P3A_RG_IEXT_INTR_VAL(instance->efuse_intr); writel(tmp, u3_banks->phya + U3P_U3_PHYA_REG0); @@ -192,7 +192,7 @@ Signed-off-by: Zhanyong Wang break; default: dev_warn(dev, "no sw efuse for type %d\n", instance->type); -@@ -1334,6 +1464,9 @@ static struct phy *mtk_phy_xlate(struct +@@ -1335,6 +1465,9 @@ static struct phy *mtk_phy_xlate(struct case MTK_PHY_V3: phy_v2_banks_init(tphy, instance); break; @@ -202,7 +202,7 @@ Signed-off-by: Zhanyong Wang default: dev_err(dev, "phy version is not supported\n"); return ERR_PTR(-EINVAL); -@@ -1374,6 +1507,12 @@ static const struct mtk_phy_pdata tphy_v +@@ -1375,6 +1508,12 @@ static const struct mtk_phy_pdata tphy_v .version = MTK_PHY_V3, }; @@ -215,7 +215,7 @@ Signed-off-by: Zhanyong Wang static const struct mtk_phy_pdata mt8173_pdata = { .avoid_rx_sen_degradation = true, .version = MTK_PHY_V1, -@@ -1393,6 +1532,7 @@ static const struct of_device_id mtk_tph +@@ -1394,6 +1533,7 @@ static const struct of_device_id mtk_tph { .compatible = "mediatek,generic-tphy-v1", .data = &tphy_v1_pdata }, { .compatible = "mediatek,generic-tphy-v2", .data = &tphy_v2_pdata }, { .compatible = "mediatek,generic-tphy-v3", .data = &tphy_v3_pdata }, diff --git a/target/linux/mediatek/patches-5.15/802-phy-phy-mtk-tphy-add-auto-load-valid-check-mechanism.patch b/target/linux/mediatek/patches-5.15/802-phy-phy-mtk-tphy-add-auto-load-valid-check-mechanism.patch index 67580f1e11..3b8285bf47 100644 --- a/target/linux/mediatek/patches-5.15/802-phy-phy-mtk-tphy-add-auto-load-valid-check-mechanism.patch +++ b/target/linux/mediatek/patches-5.15/802-phy-phy-mtk-tphy-add-auto-load-valid-check-mechanism.patch @@ -27,7 +27,7 @@ Signed-off-by: Zhanyong Wang u32 efuse_intr_ln1; u32 efuse_tx_imp_ln1; u32 efuse_rx_imp_ln1; -@@ -1125,6 +1129,7 @@ static int phy_efuse_get(struct mtk_tphy +@@ -1126,6 +1130,7 @@ static int phy_efuse_get(struct mtk_tphy { struct device *dev = &instance->phy->dev; int ret = 0; @@ -35,7 +35,7 @@ Signed-off-by: Zhanyong Wang /* tphy v1 doesn't support sw efuse, skip it */ if (!tphy->pdata->sw_efuse_supported) { -@@ -1139,6 +1144,20 @@ static int phy_efuse_get(struct mtk_tphy +@@ -1140,6 +1145,20 @@ static int phy_efuse_get(struct mtk_tphy switch (instance->type) { case PHY_TYPE_USB2: @@ -56,7 +56,7 @@ Signed-off-by: Zhanyong Wang ret = nvmem_cell_read_variable_le_u32(dev, "intr", &instance->efuse_intr); if (ret) { dev_err(dev, "fail to get u2 intr efuse, %d\n", ret); -@@ -1157,6 +1176,20 @@ static int phy_efuse_get(struct mtk_tphy +@@ -1158,6 +1177,20 @@ static int phy_efuse_get(struct mtk_tphy case PHY_TYPE_USB3: case PHY_TYPE_PCIE: @@ -77,7 +77,7 @@ Signed-off-by: Zhanyong Wang ret = nvmem_cell_read_variable_le_u32(dev, "intr", &instance->efuse_intr); if (ret) { dev_err(dev, "fail to get u3 intr efuse, %d\n", ret); -@@ -1190,6 +1223,20 @@ static int phy_efuse_get(struct mtk_tphy +@@ -1191,6 +1224,20 @@ static int phy_efuse_get(struct mtk_tphy if (tphy->pdata->version != MTK_PHY_V4) break; @@ -98,7 +98,7 @@ Signed-off-by: Zhanyong Wang ret = nvmem_cell_read_variable_le_u32(dev, "intr_ln1", &instance->efuse_intr_ln1); if (ret) { dev_err(dev, "fail to get u3 lane1 intr efuse, %d\n", ret); -@@ -1241,6 +1288,10 @@ static void phy_efuse_set(struct mtk_phy +@@ -1242,6 +1289,10 @@ static void phy_efuse_set(struct mtk_phy switch (instance->type) { case PHY_TYPE_USB2: @@ -109,7 +109,7 @@ Signed-off-by: Zhanyong Wang tmp = readl(u2_banks->misc + U3P_MISC_REG1); tmp |= MR1_EFUSE_AUTO_LOAD_DIS; writel(tmp, u2_banks->misc + U3P_MISC_REG1); -@@ -1251,6 +1302,10 @@ static void phy_efuse_set(struct mtk_phy +@@ -1252,6 +1303,10 @@ static void phy_efuse_set(struct mtk_phy writel(tmp, u2_banks->com + U3P_USBPHYACR1); break; case PHY_TYPE_USB3: @@ -120,7 +120,7 @@ Signed-off-by: Zhanyong Wang tmp = readl(u3_banks->phyd + U3P_U3_PHYD_RSV); tmp |= P3D_RG_EFUSE_AUTO_LOAD_DIS; writel(tmp, u3_banks->phyd + U3P_U3_PHYD_RSV); -@@ -1277,6 +1332,10 @@ static void phy_efuse_set(struct mtk_phy +@@ -1278,6 +1333,10 @@ static void phy_efuse_set(struct mtk_phy break; case PHY_TYPE_PCIE: @@ -131,7 +131,7 @@ Signed-off-by: Zhanyong Wang tmp = readl(u3_banks->phyd + U3P_U3_PHYD_RSV); tmp |= P3D_RG_EFUSE_AUTO_LOAD_DIS; writel(tmp, u3_banks->phyd + U3P_U3_PHYD_RSV); -@@ -1297,9 +1356,12 @@ static void phy_efuse_set(struct mtk_phy +@@ -1298,9 +1357,12 @@ static void phy_efuse_set(struct mtk_phy tmp &= ~P3A_RG_IEXT_INTR; tmp |= P3A_RG_IEXT_INTR_VAL(instance->efuse_intr); writel(tmp, u3_banks->phya + U3P_U3_PHYA_REG0); diff --git a/target/linux/mpc85xx/patches-5.15/100-powerpc-85xx-tl-wdr4900-v1-support.patch b/target/linux/mpc85xx/patches-5.15/100-powerpc-85xx-tl-wdr4900-v1-support.patch index e981ac85e4..e1e817c1f2 100644 --- a/target/linux/mpc85xx/patches-5.15/100-powerpc-85xx-tl-wdr4900-v1-support.patch +++ b/target/linux/mpc85xx/patches-5.15/100-powerpc-85xx-tl-wdr4900-v1-support.patch @@ -19,7 +19,7 @@ Signed-off-by: Pawel Dembicki --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile -@@ -162,6 +162,7 @@ src-plat-$(CONFIG_PPC_PSERIES) += pserie +@@ -163,6 +163,7 @@ src-plat-$(CONFIG_PPC_PSERIES) += pserie src-plat-$(CONFIG_PPC_POWERNV) += pseries-head.S src-plat-$(CONFIG_PPC_IBM_CELL_BLADE) += pseries-head.S src-plat-$(CONFIG_MVME7100) += motload-head.S mvme7100.c @@ -27,7 +27,7 @@ Signed-off-by: Pawel Dembicki src-plat-$(CONFIG_PPC_MICROWATT) += fixed-head.S microwatt.c -@@ -342,7 +343,7 @@ image-$(CONFIG_TQM8548) += cuImage.tqm +@@ -343,7 +344,7 @@ image-$(CONFIG_TQM8548) += cuImage.tqm image-$(CONFIG_TQM8555) += cuImage.tqm8555 image-$(CONFIG_TQM8560) += cuImage.tqm8560 image-$(CONFIG_KSI8560) += cuImage.ksi8560 diff --git a/target/linux/mpc85xx/patches-5.15/900-powerpc-bootwrapper-disable-uImage-generation.patch b/target/linux/mpc85xx/patches-5.15/900-powerpc-bootwrapper-disable-uImage-generation.patch index c81ab7fcc2..ea5f5ab062 100644 --- a/target/linux/mpc85xx/patches-5.15/900-powerpc-bootwrapper-disable-uImage-generation.patch +++ b/target/linux/mpc85xx/patches-5.15/900-powerpc-bootwrapper-disable-uImage-generation.patch @@ -16,7 +16,7 @@ Signed-off-by: David Bauer --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile -@@ -271,7 +271,6 @@ image-$(CONFIG_PPC_CHRP) += zImage.chrp +@@ -272,7 +272,6 @@ image-$(CONFIG_PPC_CHRP) += zImage.chrp image-$(CONFIG_PPC_EFIKA) += zImage.chrp image-$(CONFIG_PPC_PMAC) += zImage.pmac image-$(CONFIG_PPC_HOLLY) += dtbImage.holly @@ -24,7 +24,7 @@ Signed-off-by: David Bauer image-$(CONFIG_EPAPR_BOOT) += zImage.epapr # -@@ -403,15 +402,6 @@ $(obj)/dtbImage.%: vmlinux $(wrapperbits +@@ -404,15 +403,6 @@ $(obj)/dtbImage.%: vmlinux $(wrapperbits $(obj)/vmlinux.strip: vmlinux $(STRIP) -s -R .comment $< -o $@ diff --git a/target/linux/oxnas/patches-5.15/100-oxnas-clk-plla-pllb.patch b/target/linux/oxnas/patches-5.15/100-oxnas-clk-plla-pllb.patch index 6c795c1d25..f609f1b12a 100644 --- a/target/linux/oxnas/patches-5.15/100-oxnas-clk-plla-pllb.patch +++ b/target/linux/oxnas/patches-5.15/100-oxnas-clk-plla-pllb.patch @@ -179,7 +179,7 @@ static inline struct clk_oxnas_gate *to_clk_oxnas_gate(struct clk_hw *hw) { return container_of(hw, struct clk_oxnas_gate, hw); -@@ -249,3 +401,42 @@ static struct platform_driver oxnas_stdc +@@ -251,3 +403,42 @@ static struct platform_driver oxnas_stdc }, }; builtin_platform_driver(oxnas_stdclk_driver);