[openwrt/openwrt] kernel: bump 6.6 to 6.6.97
LEDE Commits
lede-commits at lists.infradead.org
Thu Jul 17 11:50:02 PDT 2025
hauke pushed a commit to openwrt/openwrt.git, branch openwrt-24.10:
https://git.openwrt.org/05d8b931fb8d2561311b029882d77b2ef6e34c2a
commit 05d8b931fb8d2561311b029882d77b2ef6e34c2a
Author: Shiji Yang <yangshiji66 at outlook.com>
AuthorDate: Thu Jul 10 23:59:14 2025 +0800
kernel: bump 6.6 to 6.6.97
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.97
Remove upstream patches:
generic/backport-6.6/001-powerpc-kernel-Fix-pcc_save_regs-inclusion.patch [1]
Manually rebased patch:
bcm53xx/patches-6.6/180-usb-xhci-add-support-for-performing-fake-doorbell.patch[2]
New Kconfig symbol:
x86: enable MITIGATION_TSA [3]
All other patches are automatically refreshed.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.97&id=8a7ac2737211451b8b98657b919c4c4e0a4c0c2f
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.97&id=7609899eb6b70b536123eb58eeab27c764752b82
[3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.97&id=90293047df18caf7ed0fe566d89af0720f2dc98a
Signed-off-by: Shiji Yang <yangshiji66 at outlook.com>
Co-authored-by: John Audia <therealgraysky at proton.me>
Tested-by: Konstantin Demin <rockdrilla at gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19317
(cherry picked from commit 04d764576b766ce849ea68af5ed7f5cfd8f47260)
Co-authored-by: Goetz Goerisch <ggoerisch at gmail.com>
Signed-off-by: Goetz Goerisch <ggoerisch at gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19354
Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
include/kernel-6.6 | 4 +--
.../patches-6.6/901-snand-mtk-bmt-support.patch | 6 ++--
...rt-xhci-add-quirk-for-host-controllers-th.patch | 2 +-
...950-0092-MMC-added-alternative-MMC-driver.patch | 6 ++--
...bounce-link-events-to-minimize-poll-storm.patch | 2 +-
...67-drm-v3d-Clock-V3D-down-when-not-in-use.patch | 10 +++---
...k-the-clock-so-firmware-knows-we-are-usin.patch | 2 +-
...oth-hci_sync-Add-fallback-bd-address-prop.patch | 4 +--
...-debugfs-end-points-to-query-GPU-usage-st.patch | 8 ++---
...-xhci-quirks-add-link-TRB-quirk-for-VL805.patch | 6 ++--
...84-usb-xhci-add-VLI_SS_BULK_OUT_BUG-quirk.patch | 6 ++--
...0-0485-usb-xhci-add-XHCI_VLI_HUB_TT_QUIRK.patch | 6 ++--
.../950-0514-sdhci-Add-SD-Express-hook.patch | 6 ++--
...esignware-Add-SMBUS-quick-command-support.patch | 6 ++--
...v3d-fix-up-register-addresses-for-V3D-7.x.patch | 8 ++---
...ers-mmc-sdhci-add-SPURIOUS_INT_RESP-quirk.patch | 2 +-
...xtend-maximum-ADMA-transfer-length-to-4Mi.patch | 2 +-
...uetooth-hci_sync-Fix-crash-on-NULL-parent.patch | 2 +-
...-disable-write-caching-on-Samsung-2023-mo.patch | 6 ++--
...disable-cache-on-more-known-bad-Sandisk-c.patch | 2 +-
...add-MMC_QUIRK_BROKEN_ERASE-for-Phison-Int.patch | 4 +--
...ignware-Add-support-for-bus-clear-feature.patch | 4 +--
..._QUIRK_KNOWN_WORKING_SD_CQ-on-Raspberry-P.patch | 2 +-
...ociate-a-V3D-tech-revision-to-all-support.patch | 12 +++----
...-V3D_SMS-registers-for-power-on-off-and-r.patch | 10 +++---
...-add-support-for-performing-fake-doorbell.patch | 6 ++--
...owerpc-kernel-Fix-pcc_save_regs-inclusion.patch | 42 ----------------------
...up_max_cpus_namespace_collision_shadowing.patch | 2 +-
...HW-vlan-tag-insertion-stripping-by-defaul.patch | 2 +-
...NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch | 2 +-
.../patches-6.6/330-snand-mtk-bmt-support.patch | 6 ++--
.../960-asus-hack-u-boot-ignore-mtdparts.patch | 4 +--
...d-initialize-pad-delay-and-drive-strength.patch | 4 +--
...-improve-performance-usb-using-lowmem-for.patch | 14 ++++----
...ing-dma_alloc_noncoherent-to-alloc-low-me.patch | 10 +++---
target/linux/x86/config-6.6 | 1 +
36 files changed, 90 insertions(+), 131 deletions(-)
diff --git a/include/kernel-6.6 b/include/kernel-6.6
index 88d972d66a..a98cd88bea 100644
--- a/include/kernel-6.6
+++ b/include/kernel-6.6
@@ -1,2 +1,2 @@
-LINUX_VERSION-6.6 = .96
-LINUX_KERNEL_HASH-6.6.96 = 9ee45843d43adb2e2ac5f6a8cb10a334e39e3e3384af8a0ce383a37f78221bdd
+LINUX_VERSION-6.6 = .97
+LINUX_KERNEL_HASH-6.6.97 = 3b67c170638142da56b7a9c3295f2483b88e8c4d3bc26b2bda63b6cf0cb9ee3b
diff --git a/target/linux/airoha/patches-6.6/901-snand-mtk-bmt-support.patch b/target/linux/airoha/patches-6.6/901-snand-mtk-bmt-support.patch
index 939ec04855..06026f375e 100644
--- a/target/linux/airoha/patches-6.6/901-snand-mtk-bmt-support.patch
+++ b/target/linux/airoha/patches-6.6/901-snand-mtk-bmt-support.patch
@@ -8,7 +8,7 @@
static int spinand_read_reg_op(struct spinand_device *spinand, u8 reg, u8 *val)
{
-@@ -1347,6 +1348,7 @@ static int spinand_probe(struct spi_mem
+@@ -1348,6 +1349,7 @@ static int spinand_probe(struct spi_mem
if (ret)
return ret;
@@ -16,7 +16,7 @@
ret = mtd_device_register(mtd, NULL, 0);
if (ret)
goto err_spinand_cleanup;
-@@ -1354,6 +1356,7 @@ static int spinand_probe(struct spi_mem
+@@ -1355,6 +1357,7 @@ static int spinand_probe(struct spi_mem
return 0;
err_spinand_cleanup:
@@ -24,7 +24,7 @@
spinand_cleanup(spinand);
return ret;
-@@ -1372,6 +1375,7 @@ static int spinand_remove(struct spi_mem
+@@ -1373,6 +1376,7 @@ static int spinand_remove(struct spi_mem
if (ret)
return ret;
diff --git a/target/linux/bcm27xx/patches-6.6/950-0061-Revert-Revert-xhci-add-quirk-for-host-controllers-th.patch b/target/linux/bcm27xx/patches-6.6/950-0061-Revert-Revert-xhci-add-quirk-for-host-controllers-th.patch
index e2c2b02f70..3dce8aa621 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0061-Revert-Revert-xhci-add-quirk-for-host-controllers-th.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0061-Revert-Revert-xhci-add-quirk-for-host-controllers-th.patch
@@ -14,7 +14,7 @@ We don't agree with upstream revert so undo it.
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
-@@ -485,6 +485,7 @@ static void xhci_pci_quirks(struct devic
+@@ -510,6 +510,7 @@ static void xhci_pci_quirks(struct devic
if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == PCI_DEVICE_ID_VIA_VL805) {
xhci->quirks |= XHCI_LPM_SUPPORT;
xhci->quirks |= XHCI_TRB_OVERFETCH;
diff --git a/target/linux/bcm27xx/patches-6.6/950-0092-MMC-added-alternative-MMC-driver.patch b/target/linux/bcm27xx/patches-6.6/950-0092-MMC-added-alternative-MMC-driver.patch
index e983d5295b..6dddd80026 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0092-MMC-added-alternative-MMC-driver.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0092-MMC-added-alternative-MMC-driver.patch
@@ -344,7 +344,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
}
--- a/drivers/mmc/core/quirks.h
+++ b/drivers/mmc/core/quirks.h
-@@ -153,6 +153,14 @@ static const struct mmc_fixup __maybe_un
+@@ -50,6 +50,14 @@ static const struct mmc_fixup __maybe_un
MMC_FIXUP(CID_NAME_ANY, CID_MANFID_SANDISK_SD, 0x5344, add_quirk_sd,
MMC_QUIRK_BROKEN_SD_DISCARD),
@@ -1993,7 +1993,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
#define MAX_TUNING_LOOP 40
-@@ -3217,7 +3217,7 @@ static void sdhci_timeout_timer(struct t
+@@ -3212,7 +3212,7 @@ static void sdhci_timeout_timer(struct t
spin_lock_irqsave(&host->lock, flags);
if (host->cmd && !sdhci_data_line_cmd(host->cmd)) {
@@ -2002,7 +2002,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
mmc_hostname(host->mmc));
sdhci_err_stats_inc(host, REQ_TIMEOUT);
sdhci_dumpregs(host);
-@@ -3240,7 +3240,7 @@ static void sdhci_timeout_data_timer(str
+@@ -3235,7 +3235,7 @@ static void sdhci_timeout_data_timer(str
if (host->data || host->data_cmd ||
(host->cmd && sdhci_data_line_cmd(host->cmd))) {
diff --git a/target/linux/bcm27xx/patches-6.6/950-0133-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch b/target/linux/bcm27xx/patches-6.6/950-0133-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch
index 2ca2550acb..46bfe50f1a 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0133-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0133-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch
@@ -29,7 +29,7 @@ See: https://github.com/raspberrypi/linux/issues/2447
static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data)
{
u32 *buf;
-@@ -4458,7 +4463,13 @@ static int lan78xx_probe(struct usb_inte
+@@ -4456,7 +4461,13 @@ static int lan78xx_probe(struct usb_inte
if (ret < 0)
goto out4;
diff --git a/target/linux/bcm27xx/patches-6.6/950-0167-drm-v3d-Clock-V3D-down-when-not-in-use.patch b/target/linux/bcm27xx/patches-6.6/950-0167-drm-v3d-Clock-V3D-down-when-not-in-use.patch
index e15fafed50..099cf75a81 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0167-drm-v3d-Clock-V3D-down-when-not-in-use.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0167-drm-v3d-Clock-V3D-down-when-not-in-use.patch
@@ -59,7 +59,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.org>
irq_disable:
--- a/drivers/gpu/drm/v3d/v3d_drv.h
+++ b/drivers/gpu/drm/v3d/v3d_drv.h
-@@ -76,6 +76,12 @@ struct v3d_dev {
+@@ -84,6 +84,12 @@ struct v3d_dev {
void __iomem *bridge_regs;
void __iomem *gca_regs;
struct clk *clk;
@@ -130,7 +130,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.org>
v3d_init_core(struct v3d_dev *v3d, int core)
{
/* Set OVRTMUOUT, which means that the texture sampler uniform
-@@ -318,6 +360,7 @@ static void
+@@ -320,6 +362,7 @@ static void
v3d_job_free(struct kref *ref)
{
struct v3d_job *job = container_of(ref, struct v3d_job, refcount);
@@ -138,7 +138,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.org>
int i;
if (job->bo) {
-@@ -329,6 +372,8 @@ v3d_job_free(struct kref *ref)
+@@ -331,6 +374,8 @@ v3d_job_free(struct kref *ref)
dma_fence_put(job->irq_fence);
dma_fence_put(job->done_fence);
@@ -147,7 +147,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.org>
if (job->perfmon)
v3d_perfmon_put(job->perfmon);
-@@ -448,6 +493,7 @@ v3d_job_init(struct v3d_dev *v3d, struct
+@@ -450,6 +495,7 @@ v3d_job_init(struct v3d_dev *v3d, struct
goto fail_deps;
}
@@ -155,7 +155,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.org>
kref_init(&job->refcount);
return 0;
-@@ -1031,6 +1077,9 @@ v3d_gem_init(struct drm_device *dev)
+@@ -1033,6 +1079,9 @@ v3d_gem_init(struct drm_device *dev)
if (ret)
return ret;
diff --git a/target/linux/bcm27xx/patches-6.6/950-0188-v3d_gem-Kick-the-clock-so-firmware-knows-we-are-usin.patch b/target/linux/bcm27xx/patches-6.6/950-0188-v3d_gem-Kick-the-clock-so-firmware-knows-we-are-usin.patch
index 19c0ddaf3e..7850e796fc 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0188-v3d_gem-Kick-the-clock-so-firmware-knows-we-are-usin.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0188-v3d_gem-Kick-the-clock-so-firmware-knows-we-are-usin.patch
@@ -14,7 +14,7 @@ Signed-off-by: popcornmix <popcornmix at gmail.com>
--- a/drivers/gpu/drm/v3d/v3d_gem.c
+++ b/drivers/gpu/drm/v3d/v3d_gem.c
-@@ -1080,6 +1080,10 @@ v3d_gem_init(struct drm_device *dev)
+@@ -1082,6 +1082,10 @@ v3d_gem_init(struct drm_device *dev)
mutex_init(&v3d->clk_lock);
INIT_DELAYED_WORK(&v3d->clk_down_work, v3d_clock_down_work);
diff --git a/target/linux/bcm27xx/patches-6.6/950-0441-Bluetooth-hci_sync-Add-fallback-bd-address-prop.patch b/target/linux/bcm27xx/patches-6.6/950-0441-Bluetooth-hci_sync-Add-fallback-bd-address-prop.patch
index 20cfa48ea4..c1173c30fc 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0441-Bluetooth-hci_sync-Add-fallback-bd-address-prop.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0441-Bluetooth-hci_sync-Add-fallback-bd-address-prop.patch
@@ -20,7 +20,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
--- a/net/bluetooth/hci_sync.c
+++ b/net/bluetooth/hci_sync.c
-@@ -4883,6 +4883,7 @@ static const struct {
+@@ -4879,6 +4879,7 @@ static const struct {
*/
static int hci_dev_setup_sync(struct hci_dev *hdev)
{
@@ -28,7 +28,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
int ret = 0;
bool invalid_bdaddr;
size_t i;
-@@ -4911,7 +4912,8 @@ static int hci_dev_setup_sync(struct hci
+@@ -4907,7 +4908,8 @@ static int hci_dev_setup_sync(struct hci
test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks);
if (!ret) {
if (test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks) &&
diff --git a/target/linux/bcm27xx/patches-6.6/950-0464-drm-v3d-New-debugfs-end-points-to-query-GPU-usage-st.patch b/target/linux/bcm27xx/patches-6.6/950-0464-drm-v3d-New-debugfs-end-points-to-query-GPU-usage-st.patch
index c2c73a8c96..edf49764b7 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0464-drm-v3d-New-debugfs-end-points-to-query-GPU-usage-st.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0464-drm-v3d-New-debugfs-end-points-to-query-GPU-usage-st.patch
@@ -201,7 +201,7 @@ Signed-off-by: Jose Maria Casanova Crespo <jmcasanova at igalia.com>
/* Performance monitor object. The perform lifetime is controlled by userspace
* using perfmon related ioctls. A perfmon can be attached to a submit_cl
* request, and when this is the case, HW perf counters will be activated just
-@@ -147,6 +198,8 @@ struct v3d_dev {
+@@ -155,6 +206,8 @@ struct v3d_dev {
u32 num_allocated;
u32 pages_allocated;
} bo_stats;
@@ -210,7 +210,7 @@ Signed-off-by: Jose Maria Casanova Crespo <jmcasanova at igalia.com>
};
static inline struct v3d_dev *
-@@ -244,6 +297,11 @@ struct v3d_job {
+@@ -252,6 +305,11 @@ struct v3d_job {
*/
struct v3d_perfmon *perfmon;
@@ -222,7 +222,7 @@ Signed-off-by: Jose Maria Casanova Crespo <jmcasanova at igalia.com>
/* Callback for the freeing of the job on refcount going to 0. */
void (*free)(struct kref *ref);
};
-@@ -408,6 +466,7 @@ void v3d_mmu_remove_ptes(struct v3d_bo *
+@@ -416,6 +474,7 @@ void v3d_mmu_remove_ptes(struct v3d_bo *
/* v3d_sched.c */
int v3d_sched_init(struct v3d_dev *v3d);
void v3d_sched_fini(struct v3d_dev *v3d);
@@ -232,7 +232,7 @@ Signed-off-by: Jose Maria Casanova Crespo <jmcasanova at igalia.com>
void v3d_perfmon_get(struct v3d_perfmon *perfmon);
--- a/drivers/gpu/drm/v3d/v3d_gem.c
+++ b/drivers/gpu/drm/v3d/v3d_gem.c
-@@ -460,6 +460,7 @@ v3d_job_init(struct v3d_dev *v3d, struct
+@@ -462,6 +462,7 @@ v3d_job_init(struct v3d_dev *v3d, struct
job = *container;
job->v3d = v3d;
job->free = free;
diff --git a/target/linux/bcm27xx/patches-6.6/950-0482-xhci-quirks-add-link-TRB-quirk-for-VL805.patch b/target/linux/bcm27xx/patches-6.6/950-0482-xhci-quirks-add-link-TRB-quirk-for-VL805.patch
index 7ab01e4623..727f299615 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0482-xhci-quirks-add-link-TRB-quirk-for-VL805.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0482-xhci-quirks-add-link-TRB-quirk-for-VL805.patch
@@ -24,7 +24,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
-@@ -486,6 +486,7 @@ static void xhci_pci_quirks(struct devic
+@@ -511,6 +511,7 @@ static void xhci_pci_quirks(struct devic
xhci->quirks |= XHCI_LPM_SUPPORT;
xhci->quirks |= XHCI_TRB_OVERFETCH;
xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
@@ -52,9 +52,9 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
addr = xhci_trb_virt_to_dma(new_seg, new_deq);
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1660,6 +1660,9 @@ struct xhci_hcd {
- #define XHCI_CDNS_SCTX_QUIRK BIT_ULL(48)
+@@ -1661,6 +1661,9 @@ struct xhci_hcd {
#define XHCI_ETRON_HOST BIT_ULL(49)
+ #define XHCI_LIMIT_ENDPOINT_INTERVAL_9 BIT_ULL(50)
+/* Downstream VLI fixes */
+#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(56)
diff --git a/target/linux/bcm27xx/patches-6.6/950-0484-usb-xhci-add-VLI_SS_BULK_OUT_BUG-quirk.patch b/target/linux/bcm27xx/patches-6.6/950-0484-usb-xhci-add-VLI_SS_BULK_OUT_BUG-quirk.patch
index cad297ab73..e9ad87d316 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0484-usb-xhci-add-VLI_SS_BULK_OUT_BUG-quirk.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0484-usb-xhci-add-VLI_SS_BULK_OUT_BUG-quirk.patch
@@ -51,7 +51,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
ep_index = xhci_get_endpoint_index(&ep->desc);
ep_ctx = xhci_get_ep_ctx(xhci, virt_dev->in_ctx, ep_index);
-@@ -1445,9 +1448,35 @@ int xhci_endpoint_init(struct xhci_hcd *
+@@ -1449,9 +1452,35 @@ int xhci_endpoint_init(struct xhci_hcd *
mult = xhci_get_endpoint_mult(udev, ep);
max_packet = usb_endpoint_maxp(&ep->desc);
@@ -90,7 +90,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
/* Allow 3 retries for everything but isoc, set CErr = 3 */
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
-@@ -487,6 +487,7 @@ static void xhci_pci_quirks(struct devic
+@@ -512,6 +512,7 @@ static void xhci_pci_quirks(struct devic
xhci->quirks |= XHCI_TRB_OVERFETCH;
xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
xhci->quirks |= XHCI_AVOID_DQ_ON_LINK;
@@ -100,7 +100,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1662,6 +1662,7 @@ struct xhci_hcd {
+@@ -1663,6 +1663,7 @@ struct xhci_hcd {
/* Downstream VLI fixes */
#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(56)
diff --git a/target/linux/bcm27xx/patches-6.6/950-0485-usb-xhci-add-XHCI_VLI_HUB_TT_QUIRK.patch b/target/linux/bcm27xx/patches-6.6/950-0485-usb-xhci-add-XHCI_VLI_HUB_TT_QUIRK.patch
index 99059c12db..c820ed89a2 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0485-usb-xhci-add-XHCI_VLI_HUB_TT_QUIRK.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0485-usb-xhci-add-XHCI_VLI_HUB_TT_QUIRK.patch
@@ -47,7 +47,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
/* Device for a quirk */
#define PCI_VENDOR_ID_FRESCO_LOGIC 0x1b73
#define PCI_DEVICE_ID_FRESCO_LOGIC_PDK 0x1000
-@@ -297,6 +299,16 @@ static int xhci_pci_reinit(struct xhci_h
+@@ -307,6 +309,16 @@ static int xhci_pci_reinit(struct xhci_h
return 0;
}
@@ -64,7 +64,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
{
struct pci_dev *pdev = to_pci_dev(dev);
-@@ -488,6 +500,8 @@ static void xhci_pci_quirks(struct devic
+@@ -513,6 +525,8 @@ static void xhci_pci_quirks(struct devic
xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
xhci->quirks |= XHCI_AVOID_DQ_ON_LINK;
xhci->quirks |= XHCI_VLI_SS_BULK_OUT_BUG;
@@ -144,7 +144,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
return 0;
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1663,6 +1663,7 @@ struct xhci_hcd {
+@@ -1664,6 +1664,7 @@ struct xhci_hcd {
/* Downstream VLI fixes */
#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(56)
#define XHCI_VLI_SS_BULK_OUT_BUG BIT_ULL(57)
diff --git a/target/linux/bcm27xx/patches-6.6/950-0514-sdhci-Add-SD-Express-hook.patch b/target/linux/bcm27xx/patches-6.6/950-0514-sdhci-Add-SD-Express-hook.patch
index e1ea7998ed..17c7d2f965 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0514-sdhci-Add-SD-Express-hook.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0514-sdhci-Add-SD-Express-hook.patch
@@ -26,7 +26,7 @@ sdhci: remove PYA0_INTR_BUG quirk. Add quirks to disable some of the higher SDR
static int dwcmshc_rk35xx_init(struct sdhci_host *host, struct dwcmshc_priv *dwc_priv)
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
-@@ -3055,6 +3055,15 @@ static void sdhci_card_event(struct mmc_
+@@ -3050,6 +3050,15 @@ static void sdhci_card_event(struct mmc_
spin_unlock_irqrestore(&host->lock, flags);
}
@@ -42,7 +42,7 @@ sdhci: remove PYA0_INTR_BUG quirk. Add quirks to disable some of the higher SDR
static const struct mmc_host_ops sdhci_ops = {
.request = sdhci_request,
.post_req = sdhci_post_req,
-@@ -3070,6 +3079,7 @@ static const struct mmc_host_ops sdhci_o
+@@ -3065,6 +3074,7 @@ static const struct mmc_host_ops sdhci_o
.execute_tuning = sdhci_execute_tuning,
.card_event = sdhci_card_event,
.card_busy = sdhci_card_busy,
@@ -50,7 +50,7 @@ sdhci: remove PYA0_INTR_BUG quirk. Add quirks to disable some of the higher SDR
};
/*****************************************************************************\
-@@ -4588,6 +4598,15 @@ int sdhci_setup_host(struct sdhci_host *
+@@ -4583,6 +4593,15 @@ int sdhci_setup_host(struct sdhci_host *
!(host->quirks2 & SDHCI_QUIRK2_BROKEN_DDR50))
mmc->caps |= MMC_CAP_UHS_DDR50;
diff --git a/target/linux/bcm27xx/patches-6.6/950-0535-i2c-designware-Add-SMBUS-quick-command-support.patch b/target/linux/bcm27xx/patches-6.6/950-0535-i2c-designware-Add-SMBUS-quick-command-support.patch
index e588003e6e..ff1c5ba890 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0535-i2c-designware-Add-SMBUS-quick-command-support.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0535-i2c-designware-Add-SMBUS-quick-command-support.patch
@@ -40,7 +40,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
regmap_update_bits(dev->map, DW_IC_CON, DW_IC_CON_10BITADDR_MASTER,
ic_con);
-@@ -500,6 +504,14 @@ i2c_dw_xfer_msg(struct dw_i2c_dev *dev)
+@@ -501,6 +505,14 @@ i2c_dw_xfer_msg(struct dw_i2c_dev *dev)
regmap_read(dev->map, DW_IC_RXFLR, &flr);
rx_limit = dev->rx_fifo_depth - flr;
@@ -55,7 +55,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
while (buf_len > 0 && tx_limit > 0 && rx_limit > 0) {
u32 cmd = 0;
-@@ -781,7 +793,7 @@ static const struct i2c_algorithm i2c_dw
+@@ -782,7 +794,7 @@ static const struct i2c_algorithm i2c_dw
};
static const struct i2c_adapter_quirks i2c_dw_quirks = {
@@ -64,7 +64,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
};
static u32 i2c_dw_read_clear_intrbits(struct dw_i2c_dev *dev)
-@@ -914,7 +926,8 @@ void i2c_dw_configure_master(struct dw_i
+@@ -915,7 +927,8 @@ void i2c_dw_configure_master(struct dw_i
{
struct i2c_timings *t = &dev->timings;
diff --git a/target/linux/bcm27xx/patches-6.6/950-0555-drm-v3d-fix-up-register-addresses-for-V3D-7.x.patch b/target/linux/bcm27xx/patches-6.6/950-0555-drm-v3d-fix-up-register-addresses-for-V3D-7.x.patch
index 965571e533..b755c393b5 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0555-drm-v3d-fix-up-register-addresses-for-V3D-7.x.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0555-drm-v3d-fix-up-register-addresses-for-V3D-7.x.patch
@@ -335,9 +335,9 @@ v2: fix kernel panic with debug-fs interface to list registers
+ V3D_CORE_WRITE(core, V3D_CTL_INT_CLR, V3D_CORE_IRQS(v3d->ver));
+ V3D_WRITE(V3D_HUB_INT_CLR, V3D_HUB_IRQS(v3d->ver));
- irq1 = platform_get_irq_optional(v3d_to_pdev(v3d), 1);
- if (irq1 == -EPROBE_DEFER)
-@@ -276,12 +283,12 @@ v3d_irq_enable(struct v3d_dev *v3d)
+ irq = platform_get_irq_optional(v3d_to_pdev(v3d), 1);
+ if (irq == -EPROBE_DEFER)
+@@ -287,12 +294,12 @@ v3d_irq_enable(struct v3d_dev *v3d)
/* Enable our set of interrupts, masking out any others. */
for (core = 0; core < v3d->cores; core++) {
@@ -354,7 +354,7 @@ v2: fix kernel panic with debug-fs interface to list registers
}
void
-@@ -296,8 +303,8 @@ v3d_irq_disable(struct v3d_dev *v3d)
+@@ -313,8 +320,8 @@ v3d_irq_disable(struct v3d_dev *v3d)
/* Clear any pending interrupts we might have left. */
for (core = 0; core < v3d->cores; core++)
diff --git a/target/linux/bcm27xx/patches-6.6/950-0716-drivers-mmc-sdhci-add-SPURIOUS_INT_RESP-quirk.patch b/target/linux/bcm27xx/patches-6.6/950-0716-drivers-mmc-sdhci-add-SPURIOUS_INT_RESP-quirk.patch
index 46b33165b2..aacc0e7653 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0716-drivers-mmc-sdhci-add-SPURIOUS_INT_RESP-quirk.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0716-drivers-mmc-sdhci-add-SPURIOUS_INT_RESP-quirk.patch
@@ -36,7 +36,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
sdhci_writew(host, SDHCI_MAKE_CMD(cmd->opcode, flags), SDHCI_COMMAND);
return true;
-@@ -3314,6 +3320,11 @@ static void sdhci_cmd_irq(struct sdhci_h
+@@ -3309,6 +3315,11 @@ static void sdhci_cmd_irq(struct sdhci_h
if (intmask & SDHCI_INT_TIMEOUT) {
host->cmd->error = -ETIMEDOUT;
sdhci_err_stats_inc(host, CMD_TIMEOUT);
diff --git a/target/linux/bcm27xx/patches-6.6/950-1116-mmc-sdhci-extend-maximum-ADMA-transfer-length-to-4Mi.patch b/target/linux/bcm27xx/patches-6.6/950-1116-mmc-sdhci-extend-maximum-ADMA-transfer-length-to-4Mi.patch
index 9389ecf4d8..f0756b5945 100644
--- a/target/linux/bcm27xx/patches-6.6/950-1116-mmc-sdhci-extend-maximum-ADMA-transfer-length-to-4Mi.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-1116-mmc-sdhci-extend-maximum-ADMA-transfer-length-to-4Mi.patch
@@ -24,7 +24,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
BUG_ON(data->blksz > host->mmc->max_blk_size);
BUG_ON(data->blocks > 65535);
-@@ -4732,11 +4732,16 @@ int sdhci_setup_host(struct sdhci_host *
+@@ -4727,11 +4727,16 @@ int sdhci_setup_host(struct sdhci_host *
spin_lock_init(&host->lock);
/*
diff --git a/target/linux/bcm27xx/patches-6.6/950-1218-Bluetooth-hci_sync-Fix-crash-on-NULL-parent.patch b/target/linux/bcm27xx/patches-6.6/950-1218-Bluetooth-hci_sync-Fix-crash-on-NULL-parent.patch
index f5494ab1b8..dcc38a3c64 100644
--- a/target/linux/bcm27xx/patches-6.6/950-1218-Bluetooth-hci_sync-Fix-crash-on-NULL-parent.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-1218-Bluetooth-hci_sync-Fix-crash-on-NULL-parent.patch
@@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
--- a/net/bluetooth/hci_sync.c
+++ b/net/bluetooth/hci_sync.c
-@@ -4883,7 +4883,8 @@ static const struct {
+@@ -4879,7 +4879,8 @@ static const struct {
*/
static int hci_dev_setup_sync(struct hci_dev *hdev)
{
diff --git a/target/linux/bcm27xx/patches-6.6/950-1260-drivers-mmc-disable-write-caching-on-Samsung-2023-mo.patch b/target/linux/bcm27xx/patches-6.6/950-1260-drivers-mmc-disable-write-caching-on-Samsung-2023-mo.patch
index 327c74d720..1453bfa9e6 100644
--- a/target/linux/bcm27xx/patches-6.6/950-1260-drivers-mmc-disable-write-caching-on-Samsung-2023-mo.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-1260-drivers-mmc-disable-write-caching-on-Samsung-2023-mo.patch
@@ -30,9 +30,9 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
#define CID_MANFID_KINGSTON 0x70
--- a/drivers/mmc/core/quirks.h
+++ b/drivers/mmc/core/quirks.h
-@@ -44,6 +44,14 @@ static const struct mmc_fixup __maybe_un
- 0, -1ull, SDIO_ANY_ID, SDIO_ANY_ID, add_quirk_sd,
- MMC_QUIRK_NO_UHS_DDR50_TUNING, EXT_CSD_REV_ANY),
+@@ -58,6 +58,14 @@ static const struct mmc_fixup __maybe_un
+ MMC_FIXUP("SD32G", 0x41, 0x3432, add_quirk, MMC_QUIRK_ERASE_BROKEN),
+ MMC_FIXUP("SD64G", 0x41, 0x3432, add_quirk, MMC_QUIRK_ERASE_BROKEN),
+ /*
+ * Samsung Pro Plus/EVO Plus/Pro Ultimate SD cards (2023) claim to cache
diff --git a/target/linux/bcm27xx/patches-6.6/950-1333-mmc-quirks-disable-cache-on-more-known-bad-Sandisk-c.patch b/target/linux/bcm27xx/patches-6.6/950-1333-mmc-quirks-disable-cache-on-more-known-bad-Sandisk-c.patch
index 0d8111b890..b079ae700d 100644
--- a/target/linux/bcm27xx/patches-6.6/950-1333-mmc-quirks-disable-cache-on-more-known-bad-Sandisk-c.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-1333-mmc-quirks-disable-cache-on-more-known-bad-Sandisk-c.patch
@@ -14,7 +14,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
--- a/drivers/mmc/core/quirks.h
+++ b/drivers/mmc/core/quirks.h
-@@ -52,6 +52,18 @@ static const struct mmc_fixup __maybe_un
+@@ -66,6 +66,18 @@ static const struct mmc_fixup __maybe_un
0, -1ull, SDIO_ANY_ID, SDIO_ANY_ID, add_quirk_sd,
MMC_QUIRK_BROKEN_SD_CACHE, EXT_CSD_REV_ANY),
diff --git a/target/linux/bcm27xx/patches-6.6/950-1336-mmc-quirks-add-MMC_QUIRK_BROKEN_ERASE-for-Phison-Int.patch b/target/linux/bcm27xx/patches-6.6/950-1336-mmc-quirks-add-MMC_QUIRK_BROKEN_ERASE-for-Phison-Int.patch
index 8353546828..878c56b579 100644
--- a/target/linux/bcm27xx/patches-6.6/950-1336-mmc-quirks-add-MMC_QUIRK_BROKEN_ERASE-for-Phison-Int.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-1336-mmc-quirks-add-MMC_QUIRK_BROKEN_ERASE-for-Phison-Int.patch
@@ -16,8 +16,8 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
--- a/drivers/mmc/core/quirks.h
+++ b/drivers/mmc/core/quirks.h
@@ -181,6 +181,15 @@ static const struct mmc_fixup __maybe_un
- MMC_FIXUP("SD32G", 0x41, 0x3432, add_quirk, MMC_QUIRK_ERASE_BROKEN),
- MMC_FIXUP("SD64G", 0x41, 0x3432, add_quirk, MMC_QUIRK_ERASE_BROKEN),
+ MMC_FIXUP("M62704", CID_MANFID_KINGSTON, 0x0100, add_quirk_mmc,
+ MMC_QUIRK_TRIM_BROKEN),
+ /*
+ * Larger Integral SD cards using rebranded Phison controllers trash
diff --git a/target/linux/bcm27xx/patches-6.6/950-1396-i2c-designware-Add-support-for-bus-clear-feature.patch b/target/linux/bcm27xx/patches-6.6/950-1396-i2c-designware-Add-support-for-bus-clear-feature.patch
index df2aad53c4..0f08ef43e4 100644
--- a/target/linux/bcm27xx/patches-6.6/950-1396-i2c-designware-Add-support-for-bus-clear-feature.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-1396-i2c-designware-Add-support-for-bus-clear-feature.patch
@@ -134,7 +134,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
/* Write SDA hold time if supported */
if (dev->sda_hold_time)
regmap_write(dev->map, DW_IC_SDA_HOLD, dev->sda_hold_time);
-@@ -1049,6 +1061,7 @@ int i2c_dw_probe_master(struct dw_i2c_de
+@@ -1050,6 +1062,7 @@ int i2c_dw_probe_master(struct dw_i2c_de
struct i2c_adapter *adap = &dev->adapter;
unsigned long irq_flags;
unsigned int ic_con;
@@ -142,7 +142,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
int ret;
init_completion(&dev->cmd_complete);
-@@ -1083,7 +1096,11 @@ int i2c_dw_probe_master(struct dw_i2c_de
+@@ -1084,7 +1097,11 @@ int i2c_dw_probe_master(struct dw_i2c_de
if (ret)
return ret;
diff --git a/target/linux/bcm27xx/patches-6.6/950-1507-mmc-set-MMC_QUIRK_KNOWN_WORKING_SD_CQ-on-Raspberry-P.patch b/target/linux/bcm27xx/patches-6.6/950-1507-mmc-set-MMC_QUIRK_KNOWN_WORKING_SD_CQ-on-Raspberry-P.patch
index ac3e2ebf37..3002cc5be6 100644
--- a/target/linux/bcm27xx/patches-6.6/950-1507-mmc-set-MMC_QUIRK_KNOWN_WORKING_SD_CQ-on-Raspberry-P.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-1507-mmc-set-MMC_QUIRK_KNOWN_WORKING_SD_CQ-on-Raspberry-P.patch
@@ -26,7 +26,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
#define END_FIXUP { NULL }
--- a/drivers/mmc/core/quirks.h
+++ b/drivers/mmc/core/quirks.h
-@@ -76,6 +76,12 @@ static const struct mmc_fixup __maybe_un
+@@ -90,6 +90,12 @@ static const struct mmc_fixup __maybe_un
0, -1ull, SDIO_ANY_ID, SDIO_ANY_ID, add_quirk_sd,
MMC_QUIRK_BROKEN_SD_CACHE, EXT_CSD_REV_ANY),
diff --git a/target/linux/bcm27xx/patches-6.6/950-1553-drm-v3d-Associate-a-V3D-tech-revision-to-all-support.patch b/target/linux/bcm27xx/patches-6.6/950-1553-drm-v3d-Associate-a-V3D-tech-revision-to-all-support.patch
index 2ada8c88a0..0b3f80704b 100644
--- a/target/linux/bcm27xx/patches-6.6/950-1553-drm-v3d-Associate-a-V3D-tech-revision-to-all-support.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-1553-drm-v3d-Associate-a-V3D-tech-revision-to-all-support.patch
@@ -275,8 +275,8 @@ Signed-off-by: Maíra Canal <mcanal at igalia.com>
goto clk_disable;
--- a/drivers/gpu/drm/v3d/v3d_drv.h
+++ b/drivers/gpu/drm/v3d/v3d_drv.h
-@@ -115,13 +115,20 @@ struct v3d_perfmon {
- u64 values[];
+@@ -121,13 +121,20 @@ enum v3d_irq {
+ V3D_MAX_IRQS,
};
+enum v3d_gen {
@@ -296,8 +296,8 @@ Signed-off-by: Maíra Canal <mcanal at igalia.com>
+ enum v3d_gen ver;
bool single_irq_line;
- void __iomem *hub_regs;
-@@ -213,7 +220,7 @@ to_v3d_dev(struct drm_device *dev)
+ int irq[V3D_MAX_IRQS];
+@@ -221,7 +228,7 @@ to_v3d_dev(struct drm_device *dev)
static inline bool
v3d_has_csd(struct v3d_dev *v3d)
{
@@ -335,7 +335,7 @@ Signed-off-by: Maíra Canal <mcanal at igalia.com>
return;
V3D_GCA_WRITE(V3D_GCA_SAFE_SHUTDOWN, V3D_GCA_SAFE_SHUTDOWN_EN);
-@@ -179,13 +179,13 @@ v3d_reset(struct v3d_dev *v3d)
+@@ -181,13 +181,13 @@ v3d_reset(struct v3d_dev *v3d)
static void
v3d_flush_l3(struct v3d_dev *v3d)
{
@@ -351,7 +351,7 @@ Signed-off-by: Maíra Canal <mcanal at igalia.com>
V3D_GCA_WRITE(V3D_GCA_CACHE_CTRL,
gca_ctrl & ~V3D_GCA_CACHE_CTRL_FLUSH);
}
-@@ -198,7 +198,7 @@ v3d_flush_l3(struct v3d_dev *v3d)
+@@ -200,7 +200,7 @@ v3d_flush_l3(struct v3d_dev *v3d)
static void
v3d_invalidate_l2c(struct v3d_dev *v3d, int core)
{
diff --git a/target/linux/bcm27xx/patches-6.6/950-1555-drm-v3d-Use-V3D_SMS-registers-for-power-on-off-and-r.patch b/target/linux/bcm27xx/patches-6.6/950-1555-drm-v3d-Use-V3D_SMS-registers-for-power-on-off-and-r.patch
index e0169d9745..b405938cef 100644
--- a/target/linux/bcm27xx/patches-6.6/950-1555-drm-v3d-Use-V3D_SMS-registers-for-power-on-off-and-r.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-1555-drm-v3d-Use-V3D_SMS-registers-for-power-on-off-and-r.patch
@@ -98,7 +98,7 @@ Signed-off-by: Maíra Canal <mcanal at igalia.com>
--- a/drivers/gpu/drm/v3d/v3d_drv.h
+++ b/drivers/gpu/drm/v3d/v3d_drv.h
-@@ -135,6 +135,7 @@ struct v3d_dev {
+@@ -143,6 +143,7 @@ struct v3d_dev {
void __iomem *core_regs[3];
void __iomem *bridge_regs;
void __iomem *gca_regs;
@@ -106,7 +106,7 @@ Signed-off-by: Maíra Canal <mcanal at igalia.com>
struct clk *clk;
struct delayed_work clk_down_work;
unsigned long clk_up_rate, clk_down_rate;
-@@ -277,6 +278,15 @@ to_v3d_fence(struct dma_fence *fence)
+@@ -285,6 +286,15 @@ to_v3d_fence(struct dma_fence *fence)
#define V3D_GCA_READ(offset) readl(v3d->gca_regs + offset)
#define V3D_GCA_WRITE(offset, val) writel(val, v3d->gca_regs + offset)
@@ -122,7 +122,7 @@ Signed-off-by: Maíra Canal <mcanal at igalia.com>
#define V3D_CORE_READ(core, offset) readl(v3d->core_regs[core] + offset)
#define V3D_CORE_WRITE(core, offset, val) writel(val, v3d->core_regs[core] + offset)
-@@ -455,6 +465,7 @@ int v3d_wait_bo_ioctl(struct drm_device
+@@ -463,6 +473,7 @@ int v3d_wait_bo_ioctl(struct drm_device
struct drm_file *file_priv);
void v3d_job_cleanup(struct v3d_job *job);
void v3d_job_put(struct v3d_job *job);
@@ -155,8 +155,8 @@ Signed-off-by: Maíra Canal <mcanal at igalia.com>
v3d_reset(struct v3d_dev *v3d)
{
struct drm_device *dev = &v3d->drm;
-@@ -166,6 +182,7 @@ v3d_reset(struct v3d_dev *v3d)
- v3d_idle_axi(v3d, 0);
+@@ -168,6 +184,7 @@ v3d_reset(struct v3d_dev *v3d)
+ v3d_irq_disable(v3d);
v3d_idle_gca(v3d);
+ v3d_reset_sms(v3d);
diff --git a/target/linux/bcm53xx/patches-6.6/180-usb-xhci-add-support-for-performing-fake-doorbell.patch b/target/linux/bcm53xx/patches-6.6/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
index 5886cef55a..f8d8f0069b 100644
--- a/target/linux/bcm53xx/patches-6.6/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
+++ b/target/linux/bcm53xx/patches-6.6/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
@@ -103,11 +103,11 @@ it on BCM4708 family.
if (xhci->quirks & XHCI_NEC_HOST)
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1659,6 +1659,7 @@ struct xhci_hcd {
- #define XHCI_WRITE_64_HI_LO BIT_ULL(47)
+@@ -1660,6 +1660,7 @@ struct xhci_hcd {
#define XHCI_CDNS_SCTX_QUIRK BIT_ULL(48)
#define XHCI_ETRON_HOST BIT_ULL(49)
-+#define XHCI_FAKE_DOORBELL BIT_ULL(50)
+ #define XHCI_LIMIT_ENDPOINT_INTERVAL_9 BIT_ULL(50)
++#define XHCI_FAKE_DOORBELL BIT_ULL(51)
unsigned int num_active_eps;
unsigned int limit_active_eps;
diff --git a/target/linux/generic/backport-6.6/001-powerpc-kernel-Fix-pcc_save_regs-inclusion.patch b/target/linux/generic/backport-6.6/001-powerpc-kernel-Fix-pcc_save_regs-inclusion.patch
deleted file mode 100644
index 3d3515f5ab..0000000000
--- a/target/linux/generic/backport-6.6/001-powerpc-kernel-Fix-pcc_save_regs-inclusion.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 93bd4a80efeb521314485a06d8c21157240497bb Mon Sep 17 00:00:00 2001
-From: Madhavan Srinivasan <maddy at linux.ibm.com>
-Date: Sun, 11 May 2025 09:41:11 +0530
-Subject: powerpc/kernel: Fix ppc_save_regs inclusion in build
-
-Recent patch fixed an old commit
-'fc2a5a6161a2 ("powerpc/64s: ppc_save_regs is now needed for all 64s builds")'
-which is to include building of ppc_save_reg.c only when XMON
-and KEXEC_CORE and PPC_BOOK3S are enabled. This was valid, since
-ppc_save_regs was called only in replay_system_reset() of old
-irq.c which was under BOOK3S.
-
-But there has been multiple refactoring of irq.c and have
-added call to ppc_save_regs() from __replay_soft_interrupts
--> replay_soft_interrupts which is part of irq_64.c included
-under CONFIG_PPC64. And since ppc_save_regs is called in
-CRASH_DUMP path as part of crash_setup_regs in kexec.h,
-CONFIG_PPC32 also needs it.
-
-So with this recent patch which enabled the building of
-ppc_save_regs.c caused a build break when none of these
-(XMON, KEXEC_CORE, BOOK3S) where enabled as part of config.
-Patch to enable building of ppc_save_regs.c by defaults.
-
-Signed-off-by: Madhavan Srinivasan <maddy at linux.ibm.com>
-Link: https://patch.msgid.link/20250511041111.841158-1-maddy@linux.ibm.com
----
- arch/powerpc/kernel/Makefile | 2 --
- 1 file changed, 2 deletions(-)
-
---- a/arch/powerpc/kernel/Makefile
-+++ b/arch/powerpc/kernel/Makefile
-@@ -165,9 +165,7 @@ endif
-
- obj64-$(CONFIG_PPC_TRANSACTIONAL_MEM) += tm.o
-
--ifneq ($(CONFIG_XMON)$(CONFIG_KEXEC_CORE)$(CONFIG_PPC_BOOK3S),)
- obj-y += ppc_save_regs.o
--endif
-
- obj-$(CONFIG_EPAPR_PARAVIRT) += epapr_paravirt.o epapr_hcalls.o
- obj-$(CONFIG_KVM_GUEST) += kvm.o kvm_emul.o
diff --git a/target/linux/generic/backport-6.6/0080-v6.9-smp-Avoid-setup_max_cpus_namespace_collision_shadowing.patch b/target/linux/generic/backport-6.6/0080-v6.9-smp-Avoid-setup_max_cpus_namespace_collision_shadowing.patch
index c8cef08935..f5459aaccd 100644
--- a/target/linux/generic/backport-6.6/0080-v6.9-smp-Avoid-setup_max_cpus_namespace_collision_shadowing.patch
+++ b/target/linux/generic/backport-6.6/0080-v6.9-smp-Avoid-setup_max_cpus_namespace_collision_shadowing.patch
@@ -21,7 +21,7 @@ Cc: linux-kernel at vger.kernel.org
--- a/include/linux/cpu.h
+++ b/include/linux/cpu.h
-@@ -111,7 +111,7 @@ void notify_cpu_starting(unsigned int cp
+@@ -112,7 +112,7 @@ void notify_cpu_starting(unsigned int cp
extern void cpu_maps_update_begin(void);
extern void cpu_maps_update_done(void);
int bringup_hibernate_cpu(unsigned int sleep_cpu);
diff --git a/target/linux/generic/backport-6.6/792-v6.16-igc-enable-HW-vlan-tag-insertion-stripping-by-defaul.patch b/target/linux/generic/backport-6.6/792-v6.16-igc-enable-HW-vlan-tag-insertion-stripping-by-defaul.patch
index 0ca219457c..5be2e83cce 100644
--- a/target/linux/generic/backport-6.6/792-v6.16-igc-enable-HW-vlan-tag-insertion-stripping-by-defaul.patch
+++ b/target/linux/generic/backport-6.6/792-v6.16-igc-enable-HW-vlan-tag-insertion-stripping-by-defaul.patch
@@ -20,7 +20,7 @@ Signed-off-by: Rui Salvaterra <rsalvaterra at gmail.com>
--- a/drivers/net/ethernet/intel/igc/igc_main.c
+++ b/drivers/net/ethernet/intel/igc/igc_main.c
-@@ -6850,6 +6850,9 @@ static int igc_probe(struct pci_dev *pde
+@@ -6854,6 +6854,9 @@ static int igc_probe(struct pci_dev *pde
netdev->xdp_features = NETDEV_XDP_ACT_BASIC | NETDEV_XDP_ACT_REDIRECT |
NETDEV_XDP_ACT_XSK_ZEROCOPY;
diff --git a/target/linux/generic/pending-6.6/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch b/target/linux/generic/pending-6.6/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch
index ff0a9ca5ae..fffb6cbb54 100644
--- a/target/linux/generic/pending-6.6/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch
+++ b/target/linux/generic/pending-6.6/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch
@@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
if (sk_can_gso(sk)) {
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
-@@ -1996,7 +1996,7 @@ void ieee80211_color_collision_detection
+@@ -2005,7 +2005,7 @@ void ieee80211_color_collision_detection
/* interface handling */
#define MAC80211_SUPPORTED_FEATURES_TX (NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | \
NETIF_F_HW_CSUM | NETIF_F_SG | \
diff --git a/target/linux/mediatek/patches-6.6/330-snand-mtk-bmt-support.patch b/target/linux/mediatek/patches-6.6/330-snand-mtk-bmt-support.patch
index 939ec04855..06026f375e 100644
--- a/target/linux/mediatek/patches-6.6/330-snand-mtk-bmt-support.patch
+++ b/target/linux/mediatek/patches-6.6/330-snand-mtk-bmt-support.patch
@@ -8,7 +8,7 @@
static int spinand_read_reg_op(struct spinand_device *spinand, u8 reg, u8 *val)
{
-@@ -1347,6 +1348,7 @@ static int spinand_probe(struct spi_mem
+@@ -1348,6 +1349,7 @@ static int spinand_probe(struct spi_mem
if (ret)
return ret;
@@ -16,7 +16,7 @@
ret = mtd_device_register(mtd, NULL, 0);
if (ret)
goto err_spinand_cleanup;
-@@ -1354,6 +1356,7 @@ static int spinand_probe(struct spi_mem
+@@ -1355,6 +1357,7 @@ static int spinand_probe(struct spi_mem
return 0;
err_spinand_cleanup:
@@ -24,7 +24,7 @@
spinand_cleanup(spinand);
return ret;
-@@ -1372,6 +1375,7 @@ static int spinand_remove(struct spi_mem
+@@ -1373,6 +1376,7 @@ static int spinand_remove(struct spi_mem
if (ret)
return ret;
diff --git a/target/linux/mediatek/patches-6.6/960-asus-hack-u-boot-ignore-mtdparts.patch b/target/linux/mediatek/patches-6.6/960-asus-hack-u-boot-ignore-mtdparts.patch
index 0fe2b95e8a..9b503527ce 100644
--- a/target/linux/mediatek/patches-6.6/960-asus-hack-u-boot-ignore-mtdparts.patch
+++ b/target/linux/mediatek/patches-6.6/960-asus-hack-u-boot-ignore-mtdparts.patch
@@ -29,7 +29,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
--- a/drivers/mtd/nand/spi/core.c
+++ b/drivers/mtd/nand/spi/core.c
-@@ -1441,6 +1441,7 @@ static int spinand_remove(struct spi_mem
+@@ -1442,6 +1442,7 @@ static int spinand_remove(struct spi_mem
static const struct spi_device_id spinand_ids[] = {
{ .name = "spi-nand" },
@@ -37,7 +37,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
{ /* sentinel */ },
};
MODULE_DEVICE_TABLE(spi, spinand_ids);
-@@ -1448,6 +1449,7 @@ MODULE_DEVICE_TABLE(spi, spinand_ids);
+@@ -1449,6 +1450,7 @@ MODULE_DEVICE_TABLE(spi, spinand_ids);
#ifdef CONFIG_OF
static const struct of_device_id spinand_of_ids[] = {
{ .compatible = "spi-nand" },
diff --git a/target/linux/ramips/patches-6.6/831-mmc-mtk-sd-initialize-pad-delay-and-drive-strength.patch b/target/linux/ramips/patches-6.6/831-mmc-mtk-sd-initialize-pad-delay-and-drive-strength.patch
index 7fd7b3af43..1e9b8d173b 100644
--- a/target/linux/ramips/patches-6.6/831-mmc-mtk-sd-initialize-pad-delay-and-drive-strength.patch
+++ b/target/linux/ramips/patches-6.6/831-mmc-mtk-sd-initialize-pad-delay-and-drive-strength.patch
@@ -38,7 +38,7 @@ Signed-off-by: Shiji Yang <yangshiji66 at outlook.com>
};
static const struct mtk_mmc_compatible mt7622_compat = {
-@@ -1731,9 +1737,11 @@ static void msdc_init_hw(struct msdc_hos
+@@ -1748,9 +1754,11 @@ static void msdc_init_hw(struct msdc_hos
}
writel(0, host->base + MSDC_IOCON);
sdr_set_field(host->base + MSDC_IOCON, MSDC_IOCON_DDLSEL, 0);
@@ -53,7 +53,7 @@ Signed-off-by: Shiji Yang <yangshiji66 at outlook.com>
sdr_set_bits(host->base + EMMC50_CFG0, EMMC50_CFG_CFCSTS_SEL);
if (host->dev_comp->stop_clk_fix) {
-@@ -1797,6 +1805,18 @@ static void msdc_init_hw(struct msdc_hos
+@@ -1814,6 +1822,18 @@ static void msdc_init_hw(struct msdc_hos
MSDC_PAD_TUNE_RXDLYSEL);
}
diff --git a/target/linux/starfive/patches-6.6/0109-usb-xhci-To-improve-performance-usb-using-lowmem-for.patch b/target/linux/starfive/patches-6.6/0109-usb-xhci-To-improve-performance-usb-using-lowmem-for.patch
index dff0c26fab..fb35138ad3 100644
--- a/target/linux/starfive/patches-6.6/0109-usb-xhci-To-improve-performance-usb-using-lowmem-for.patch
+++ b/target/linux/starfive/patches-6.6/0109-usb-xhci-To-improve-performance-usb-using-lowmem-for.patch
@@ -50,7 +50,7 @@ Signed-off-by: minda.chen <minda.chen at starfivetech.com>
#include "xhci.h"
#include "xhci-trace.h"
-@@ -1878,6 +1879,7 @@ EXPORT_SYMBOL_GPL(xhci_remove_secondary_
+@@ -1882,6 +1883,7 @@ EXPORT_SYMBOL_GPL(xhci_remove_secondary_
void xhci_mem_cleanup(struct xhci_hcd *xhci)
{
struct device *dev = xhci_to_hcd(xhci)->self.sysdev;
@@ -58,7 +58,7 @@ Signed-off-by: minda.chen <minda.chen at starfivetech.com>
int i, j, num_ports;
cancel_delayed_work_sync(&xhci->cmd_timer);
-@@ -1928,6 +1930,13 @@ void xhci_mem_cleanup(struct xhci_hcd *x
+@@ -1932,6 +1934,13 @@ void xhci_mem_cleanup(struct xhci_hcd *x
xhci_dbg_trace(xhci, trace_xhci_dbg_init,
"Freed medium stream array pool");
@@ -72,7 +72,7 @@ Signed-off-by: minda.chen <minda.chen at starfivetech.com>
if (xhci->dcbaa)
dma_free_coherent(dev, sizeof(*xhci->dcbaa),
xhci->dcbaa, xhci->dcbaa->dma);
-@@ -2399,6 +2408,55 @@ xhci_create_secondary_interrupter(struct
+@@ -2403,6 +2412,55 @@ xhci_create_secondary_interrupter(struct
}
EXPORT_SYMBOL_GPL(xhci_create_secondary_interrupter);
@@ -128,7 +128,7 @@ Signed-off-by: minda.chen <minda.chen at starfivetech.com>
int xhci_mem_init(struct xhci_hcd *xhci, gfp_t flags)
{
struct xhci_interrupter *ir;
-@@ -2540,6 +2598,12 @@ int xhci_mem_init(struct xhci_hcd *xhci,
+@@ -2544,6 +2602,12 @@ int xhci_mem_init(struct xhci_hcd *xhci,
xhci->isoc_bei_interval = AVOID_BEI_INTERVAL_MAX;
@@ -277,16 +277,16 @@ Signed-off-by: minda.chen <minda.chen at starfivetech.com>
/* There is one xhci_hcd structure per controller */
struct xhci_hcd {
struct usb_hcd *main_hcd;
-@@ -1660,6 +1667,8 @@ struct xhci_hcd {
- #define XHCI_CDNS_SCTX_QUIRK BIT_ULL(48)
+@@ -1661,6 +1668,8 @@ struct xhci_hcd {
#define XHCI_ETRON_HOST BIT_ULL(49)
+ #define XHCI_LIMIT_ENDPOINT_INTERVAL_9 BIT_ULL(50)
+#define XHCI_LOCAL_BUFFER BIT_ULL(63)
+
unsigned int num_active_eps;
unsigned int limit_active_eps;
struct xhci_port *hw_ports;
-@@ -1689,6 +1698,8 @@ struct xhci_hcd {
+@@ -1690,6 +1699,8 @@ struct xhci_hcd {
struct list_head regset_list;
void *dbc;
diff --git a/target/linux/starfive/patches-6.6/0110-usb-xhci-using-dma_alloc_noncoherent-to-alloc-low-me.patch b/target/linux/starfive/patches-6.6/0110-usb-xhci-using-dma_alloc_noncoherent-to-alloc-low-me.patch
index b955ba8103..e5dfb37078 100644
--- a/target/linux/starfive/patches-6.6/0110-usb-xhci-using-dma_alloc_noncoherent-to-alloc-low-me.patch
+++ b/target/linux/starfive/patches-6.6/0110-usb-xhci-using-dma_alloc_noncoherent-to-alloc-low-me.patch
@@ -16,7 +16,7 @@ Signed-off-by: Minda Chen <minda.chen at starfivetech.com>
--- a/drivers/usb/host/xhci-mem.c
+++ b/drivers/usb/host/xhci-mem.c
-@@ -1932,7 +1932,8 @@ void xhci_mem_cleanup(struct xhci_hcd *x
+@@ -1936,7 +1936,8 @@ void xhci_mem_cleanup(struct xhci_hcd *x
if (xhci->lowmem_pool.pool) {
pool = &xhci->lowmem_pool;
@@ -26,7 +26,7 @@ Signed-off-by: Minda Chen <minda.chen at starfivetech.com>
gen_pool_destroy(pool->pool);
pool->pool = NULL;
}
-@@ -2419,15 +2420,15 @@ int xhci_setup_local_lowmem(struct xhci_
+@@ -2423,15 +2424,15 @@ int xhci_setup_local_lowmem(struct xhci_
if (!pool->pool) {
/* minimal alloc one page */
pool->pool = gen_pool_create(PAGE_SHIFT, dev_to_node(hcd->self.sysdev));
@@ -48,7 +48,7 @@ Signed-off-by: Minda Chen <minda.chen at starfivetech.com>
goto destroy_pool;
}
-@@ -2437,11 +2438,11 @@ int xhci_setup_local_lowmem(struct xhci_
+@@ -2441,11 +2442,11 @@ int xhci_setup_local_lowmem(struct xhci_
* for it.
*/
err = gen_pool_add_virt(pool->pool, (unsigned long)buffer,
@@ -62,7 +62,7 @@ Signed-off-by: Minda Chen <minda.chen at starfivetech.com>
goto destroy_pool;
}
-@@ -2465,7 +2466,7 @@ int xhci_mem_init(struct xhci_hcd *xhci,
+@@ -2469,7 +2470,7 @@ int xhci_mem_init(struct xhci_hcd *xhci,
unsigned int val, val2;
u64 val_64;
u32 page_size, temp;
@@ -71,7 +71,7 @@ Signed-off-by: Minda Chen <minda.chen at starfivetech.com>
INIT_LIST_HEAD(&xhci->cmd_list);
-@@ -2599,9 +2600,11 @@ int xhci_mem_init(struct xhci_hcd *xhci,
+@@ -2603,9 +2604,11 @@ int xhci_mem_init(struct xhci_hcd *xhci,
xhci->isoc_bei_interval = AVOID_BEI_INTERVAL_MAX;
if (xhci->quirks & XHCI_LOCAL_BUFFER) {
diff --git a/target/linux/x86/config-6.6 b/target/linux/x86/config-6.6
index 4fbc0c538b..4a852287e7 100644
--- a/target/linux/x86/config-6.6
+++ b/target/linux/x86/config-6.6
@@ -244,6 +244,7 @@ CONFIG_MICROCODE_LATE_FORCE_MINREV=y
CONFIG_MICROCODE_LATE_LOADING=y
CONFIG_MIGRATION=y
CONFIG_MITIGATION_ITS=y
+CONFIG_MITIGATION_TSA=y
CONFIG_MITIGATION_RFDS=y
CONFIG_MITIGATION_SPECTRE_BHI=y
# CONFIG_MK6 is not set
More information about the lede-commits
mailing list