diff --git a/include/kernel-6.6 b/include/kernel-6.6 index bb8c01bfbf..ebd26db32b 100644 --- a/include/kernel-6.6 +++ b/include/kernel-6.6 @@ -1,2 +1,2 @@ -LINUX_VERSION-6.6 = .36 -LINUX_KERNEL_HASH-6.6.36 = b9676828b737e8fb8eaa5198303d35d35e8df019550be153c8a42c99afe0cdd5 +LINUX_VERSION-6.6 = .38 +LINUX_KERNEL_HASH-6.6.38 = 4ed403ffb550565d03485aeca9a52c128cdde43f4a373a1a9ee3a590524fe743 diff --git a/package/boot/uboot-rockchip/src/arch/arm/dts/rk3588-armsom-sige7-u-boot.dtsi b/package/boot/uboot-rockchip/src/arch/arm/dts/rk3588-armsom-sige7-u-boot.dtsi index b69e44b881..bc70493e9d 100644 --- a/package/boot/uboot-rockchip/src/arch/arm/dts/rk3588-armsom-sige7-u-boot.dtsi +++ b/package/boot/uboot-rockchip/src/arch/arm/dts/rk3588-armsom-sige7-u-boot.dtsi @@ -10,6 +10,5 @@ &sdhci { cap-mmc-highspeed; - mmc-ddr-1_8v; mmc-hs200-1_8v; }; diff --git a/package/boot/uboot-rockchip/src/arch/arm/dts/rk3588-armsom-sige7.dts b/package/boot/uboot-rockchip/src/arch/arm/dts/rk3588-armsom-sige7.dts index d79295a393..b59406eac6 100644 --- a/package/boot/uboot-rockchip/src/arch/arm/dts/rk3588-armsom-sige7.dts +++ b/package/boot/uboot-rockchip/src/arch/arm/dts/rk3588-armsom-sige7.dts @@ -347,6 +347,8 @@ interrupt-parent = <&gpio0>; interrupts = ; interrupt-names = "host-wake"; + pinctrl-names = "default"; + pinctrl-0 = <&wifi_reg_on_h>; }; }; }; @@ -397,9 +399,15 @@ }; }; + pcie20 { + wifi_reg_on_h: wifi-reg-on-h { + rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_down>; + }; + }; + pcie30 { pcie30_pwren_h: pcie30-pwren-h { - rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; + rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_down>; }; }; @@ -436,7 +444,6 @@ &sdhci { bus-width = <8>; cap-mmc-highspeed; - mmc-hs200-1_8v; mmc-hs400-1_8v; mmc-hs400-enhanced-strobe; no-sdio; diff --git a/package/boot/uboot-rockchip/src/arch/arm/dts/rk3588s-nanopi-r6s-u-boot.dtsi b/package/boot/uboot-rockchip/src/arch/arm/dts/rk3588s-nanopi-r6s-u-boot.dtsi index c30129b23a..d9cdf43f52 100644 --- a/package/boot/uboot-rockchip/src/arch/arm/dts/rk3588s-nanopi-r6s-u-boot.dtsi +++ b/package/boot/uboot-rockchip/src/arch/arm/dts/rk3588s-nanopi-r6s-u-boot.dtsi @@ -5,18 +5,7 @@ #include "rk3588s-u-boot.dtsi" -/ { - chosen { - u-boot,spl-boot-order = "same-as-spl", &sdmmc, &sdhci; - }; -}; - -&rng { - status = "okay"; -}; - &sdhci { cap-mmc-highspeed; - mmc-ddr-1_8v; mmc-hs200-1_8v; }; diff --git a/package/firmware/ipq-wifi/Makefile b/package/firmware/ipq-wifi/Makefile index fa2c0893ba..f6ff0d9b2b 100644 --- a/package/firmware/ipq-wifi/Makefile +++ b/package/firmware/ipq-wifi/Makefile @@ -6,9 +6,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/firmware/qca-wireless.git -PKG_SOURCE_DATE:=2024-06-30 -PKG_SOURCE_VERSION:=e82cba7e7ce79a04d2b658c20ac9be387ccc1dd9 -PKG_MIRROR_HASH:=c71ad9785bf382a80b4c9042f1f19da8737dc85cd11e49f18881dee94df61efd +PKG_SOURCE_DATE:=2024-07-04 +PKG_SOURCE_VERSION:=fcdb2e74a6e4518266679292071c8f47f87b4df2 +PKG_MIRROR_HASH:=bfa2388468eb74221c7d1696089bb8ad3ca2b3b27ebff657f1962a6bbe6ccc11 PKG_FLAGS:=nonshared include $(INCLUDE_DIR)/package.mk diff --git a/package/firmware/wireless-regdb/Makefile b/package/firmware/wireless-regdb/Makefile index 5b95ec59de..4cce267f61 100644 --- a/package/firmware/wireless-regdb/Makefile +++ b/package/firmware/wireless-regdb/Makefile @@ -1,14 +1,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=wireless-regdb -PKG_VERSION:=2024.05.08 +PKG_VERSION:=2024.07.04 PKG_RELEASE:=1 PKG_LICENSE:=ISC PKG_LICENSE_FILES:=LICENSE PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@KERNEL/software/network/wireless-regdb/ -PKG_HASH:=9aee1d86ebebb363b714bec941b2820f31e3b7f1a485ddc9fcbd9985c7d3e7c4 +PKG_HASH:=9832a14e1be24abff7be30dee3c9a1afb5fdfcf475a0d91aafef039f8d85f5eb PKG_MAINTAINER:=Felix Fietkau diff --git a/package/firmware/wireless-regdb/patches/600-custom-change-txpower-and-dfs.patch b/package/firmware/wireless-regdb/patches/600-custom-change-txpower-and-dfs.patch index ebdbb6d22b..1efdd19b23 100644 --- a/package/firmware/wireless-regdb/patches/600-custom-change-txpower-and-dfs.patch +++ b/package/firmware/wireless-regdb/patches/600-custom-change-txpower-and-dfs.patch @@ -1,6 +1,6 @@ --- a/db.txt +++ b/db.txt -@@ -406,8 +406,8 @@ country CL: DFS-JP +@@ -415,8 +415,8 @@ country CL: DFS-JP # https://www.miit.gov.cn/cms_files/filemanager/1226211233/attach/20236/d1dc19424d5a4cfe90d631adeee8dd58.pdf # Note: The transmit power for 5150-5350MHz bands can be raised by 3dBm when TPC is implemented country CN: DFS-FCC @@ -11,7 +11,7 @@ (5725 - 5850 @ 80), (33) # 60 GHz band channels 1,4: 28dBm, channels 2,3: 44dBm # ref: http://www.miit.gov.cn/n11293472/n11505629/n11506593/n11960250/n11960606/n11960700/n12330791.files/n12330790.pdf -@@ -1789,14 +1789,12 @@ country US: DFS-FCC +@@ -1857,14 +1857,12 @@ country US: DFS-FCC (920 - 928 @ 8), (30) (2400 - 2472 @ 40), (30) # 5.15 ~ 5.25 GHz: 30 dBm for master mode, 23 dBm for clients diff --git a/package/kernel/mac80211/patches/subsys/306-wifi-mac80211-clear-vif-drv_priv-after-calling-remov.patch b/package/kernel/mac80211/patches/subsys/306-wifi-mac80211-clear-vif-drv_priv-after-calling-remov.patch new file mode 100644 index 0000000000..46cae5bf4b --- /dev/null +++ b/package/kernel/mac80211/patches/subsys/306-wifi-mac80211-clear-vif-drv_priv-after-calling-remov.patch @@ -0,0 +1,29 @@ +From: Felix Fietkau +Date: Wed, 3 Jul 2024 12:10:01 +0200 +Subject: [PATCH] wifi: mac80211: clear vif drv_priv after calling + remove_interface + +Avoid reusing stale driver data when an interface is brought down and up +again. In order to avoid having to duplicate the memset in every single +driver, do it here. + +Signed-off-by: Felix Fietkau +--- + +--- a/net/mac80211/iface.c ++++ b/net/mac80211/iface.c +@@ -684,8 +684,12 @@ static void ieee80211_do_stop(struct iee + + fallthrough; + default: +- if (going_down) +- drv_remove_interface(local, sdata); ++ if (!going_down) ++ break; ++ drv_remove_interface(local, sdata); ++ ++ /* Clear private driver data to prevent reuse */ ++ memset(sdata->vif.drv_priv, 0, local->hw.vif_data_size); + } + + ieee80211_recalc_ps(local); diff --git a/package/kernel/mac80211/patches/subsys/333-wifi-mac80211-extend-IEEE80211_KEY_FLAG_GENERATE_MMI.patch b/package/kernel/mac80211/patches/subsys/333-wifi-mac80211-extend-IEEE80211_KEY_FLAG_GENERATE_MMI.patch index 6504f6ca33..b2b4346a95 100644 --- a/package/kernel/mac80211/patches/subsys/333-wifi-mac80211-extend-IEEE80211_KEY_FLAG_GENERATE_MMI.patch +++ b/package/kernel/mac80211/patches/subsys/333-wifi-mac80211-extend-IEEE80211_KEY_FLAG_GENERATE_MMI.patch @@ -15,7 +15,7 @@ Signed-off-by: Johannes Berg --- a/include/net/mac80211.h +++ b/include/net/mac80211.h -@@ -2032,8 +2032,8 @@ static inline bool lockdep_vif_mutex_hel +@@ -2037,8 +2037,8 @@ static inline bool lockdep_vif_mutex_hel * @IEEE80211_KEY_FLAG_GENERATE_MMIC on the same key. * @IEEE80211_KEY_FLAG_NO_AUTO_TX: Key needs explicit Tx activation. * @IEEE80211_KEY_FLAG_GENERATE_MMIE: This flag should be set by the driver diff --git a/target/linux/ath79/patches-6.6/900-unaligned_access_hacks.patch b/target/linux/ath79/patches-6.6/900-unaligned_access_hacks.patch index 49a65ec622..df672946d8 100644 --- a/target/linux/ath79/patches-6.6/900-unaligned_access_hacks.patch +++ b/target/linux/ath79/patches-6.6/900-unaligned_access_hacks.patch @@ -751,7 +751,7 @@ SVN-Revision: 35130 EXPORT_SYMBOL(xfrm_parse_spi); --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c -@@ -4188,14 +4188,16 @@ static bool tcp_parse_aligned_timestamp( +@@ -4205,14 +4205,16 @@ static bool tcp_parse_aligned_timestamp( { const __be32 *ptr = (const __be32 *)(th + 1); 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 3b3b8e3b57..499b2a7da3 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 @@ -1993,7 +1993,7 @@ Signed-off-by: Phil Elwell #define MAX_TUNING_LOOP 40 -@@ -3209,7 +3209,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 mmc_hostname(host->mmc)); sdhci_err_stats_inc(host, REQ_TIMEOUT); sdhci_dumpregs(host); -@@ -3232,7 +3232,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-0301-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch b/target/linux/bcm27xx/patches-6.6/950-0301-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch index 15162cf6df..d5cee828b0 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0301-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0301-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch @@ -15,7 +15,7 @@ Signed-off-by: Dave Stevenson --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c -@@ -3375,6 +3375,31 @@ static const struct panel_desc rocktech_ +@@ -3376,6 +3376,31 @@ static const struct panel_desc rocktech_ .connector_type = DRM_MODE_CONNECTOR_DPI, }; @@ -47,7 +47,7 @@ Signed-off-by: Dave Stevenson static const struct display_timing rocktech_rk070er9427_timing = { .pixelclock = { 26400000, 33300000, 46800000 }, .hactive = { 800, 800, 800 }, -@@ -4426,6 +4451,9 @@ static const struct of_device_id platfor +@@ -4427,6 +4452,9 @@ static const struct of_device_id platfor .compatible = "rocktech,rk043fn48h", .data = &rocktech_rk043fn48h, }, { diff --git a/target/linux/bcm27xx/patches-6.6/950-0343-drm-panel-simple-add-Geekworm-MZP280-Panel.patch b/target/linux/bcm27xx/patches-6.6/950-0343-drm-panel-simple-add-Geekworm-MZP280-Panel.patch index f6a3746e8d..d5a071364a 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0343-drm-panel-simple-add-Geekworm-MZP280-Panel.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0343-drm-panel-simple-add-Geekworm-MZP280-Panel.patch @@ -46,7 +46,7 @@ Acked-by: Maxime Ripard static const struct drm_display_mode giantplus_gpg482739qs5_mode = { .clock = 9000, .hdisplay = 480, -@@ -4301,6 +4327,9 @@ static const struct of_device_id platfor +@@ -4302,6 +4328,9 @@ static const struct of_device_id platfor .compatible = "friendlyarm,hd702e", .data = &friendlyarm_hd702e, }, { diff --git a/target/linux/bcm27xx/patches-6.6/950-0359-mm-page_alloc-cma-introduce-a-customisable-threshold.patch b/target/linux/bcm27xx/patches-6.6/950-0359-mm-page_alloc-cma-introduce-a-customisable-threshold.patch index 9b5cba8dab..8c39ae9931 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0359-mm-page_alloc-cma-introduce-a-customisable-threshold.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0359-mm-page_alloc-cma-introduce-a-customisable-threshold.patch @@ -48,7 +48,7 @@ Signed-off-by: David Plowman /* * A cached value of the page's pageblock's migratetype, used when the page is * put on a pcplist. Used to avoid the pageblock migratetype lookup when -@@ -2090,12 +2111,13 @@ __rmqueue(struct zone *zone, unsigned in +@@ -2095,12 +2116,13 @@ __rmqueue(struct zone *zone, unsigned in if (IS_ENABLED(CONFIG_CMA)) { /* * Balance movable allocations between regular and CMA areas by diff --git a/target/linux/bcm27xx/patches-6.6/950-0398-drm-panel-panel-ilitek9881c-Use-cansleep-methods.patch b/target/linux/bcm27xx/patches-6.6/950-0398-drm-panel-panel-ilitek9881c-Use-cansleep-methods.patch deleted file mode 100644 index 8e68d404f6..0000000000 --- a/target/linux/bcm27xx/patches-6.6/950-0398-drm-panel-panel-ilitek9881c-Use-cansleep-methods.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 79f7bcfff7a02fd32019cac8df7908dd61e1c7f7 Mon Sep 17 00:00:00 2001 -From: Mark Williams -Date: Wed, 7 Dec 2022 18:20:40 -0700 -Subject: [PATCH 0398/1085] drm/panel: panel-ilitek9881c: Use cansleep methods - -Use cansleep version of gpiod_set_value so external IO drivers (like -via I2C) can be used. - -Signed-off-by: Mark Williams ---- - drivers/gpu/drm/panel/panel-ilitek-ili9881c.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - ---- a/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c -+++ b/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c -@@ -1107,10 +1107,10 @@ static int ili9881c_prepare(struct drm_p - msleep(5); - - /* And reset it */ -- gpiod_set_value(ctx->reset, 1); -+ gpiod_set_value_cansleep(ctx->reset, 1); - msleep(20); - -- gpiod_set_value(ctx->reset, 0); -+ gpiod_set_value_cansleep(ctx->reset, 0); - msleep(20); - - for (i = 0; i < ctx->desc->init_length; i++) { -@@ -1165,7 +1165,7 @@ static int ili9881c_unprepare(struct drm - - mipi_dsi_dcs_enter_sleep_mode(ctx->dsi); - regulator_disable(ctx->power); -- gpiod_set_value(ctx->reset, 1); -+ gpiod_set_value_cansleep(ctx->reset, 1); - - return 0; - } diff --git a/target/linux/bcm27xx/patches-6.6/950-0401-drm-panel-simple-Add-Innolux-AT056tN53V1-5.6-VGA.patch b/target/linux/bcm27xx/patches-6.6/950-0401-drm-panel-simple-Add-Innolux-AT056tN53V1-5.6-VGA.patch index a7eaaf102a..d8376a3fe5 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0401-drm-panel-simple-Add-Innolux-AT056tN53V1-5.6-VGA.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0401-drm-panel-simple-Add-Innolux-AT056tN53V1-5.6-VGA.patch @@ -165,7 +165,7 @@ Signed-off-by: Phil Elwell static const struct drm_display_mode innolux_at070tn92_mode = { .clock = 33333, .hdisplay = 800, -@@ -4351,6 +4383,9 @@ static const struct of_device_id platfor +@@ -4352,6 +4384,9 @@ static const struct of_device_id platfor .compatible = "innolux,at043tn24", .data = &innolux_at043tn24, }, { diff --git a/target/linux/bcm27xx/patches-6.6/950-0513-mmc-brcmstb-add-support-for-BCM2712.patch b/target/linux/bcm27xx/patches-6.6/950-0513-mmc-brcmstb-add-support-for-BCM2712.patch index 2b0cbcd26f..5ecdd9cd18 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0513-mmc-brcmstb-add-support-for-BCM2712.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0513-mmc-brcmstb-add-support-for-BCM2712.patch @@ -63,7 +63,7 @@ Signed-off-by: Jonathan Bell #include "sdhci-cqhci.h" #include "sdhci-pltfm.h" -@@ -26,18 +28,43 @@ +@@ -27,18 +29,43 @@ #define BRCMSTB_PRIV_FLAGS_HAS_CQE BIT(0) #define BRCMSTB_PRIV_FLAGS_GATE_CLOCK BIT(1) @@ -107,7 +107,7 @@ Signed-off-by: Jonathan Bell struct sdhci_ops *ops; const unsigned int flags; }; -@@ -94,6 +121,124 @@ static void sdhci_brcmstb_set_clock(stru +@@ -95,6 +122,124 @@ static void sdhci_brcmstb_set_clock(stru sdhci_enable_clk(host, clk); } @@ -232,7 +232,7 @@ Signed-off-by: Jonathan Bell static void sdhci_brcmstb_set_uhs_signaling(struct sdhci_host *host, unsigned int timing) { -@@ -123,6 +268,146 @@ static void sdhci_brcmstb_set_uhs_signal +@@ -124,6 +269,146 @@ static void sdhci_brcmstb_set_uhs_signal sdhci_writew(host, ctrl_2, SDHCI_HOST_CONTROL2); } @@ -379,7 +379,7 @@ Signed-off-by: Jonathan Bell static void sdhci_brcmstb_dumpregs(struct mmc_host *mmc) { sdhci_dumpregs(mmc_priv(mmc)); -@@ -155,6 +440,21 @@ static struct sdhci_ops sdhci_brcmstb_op +@@ -156,6 +441,21 @@ static struct sdhci_ops sdhci_brcmstb_op .set_uhs_signaling = sdhci_set_uhs_signaling, }; @@ -401,7 +401,7 @@ Signed-off-by: Jonathan Bell static struct sdhci_ops sdhci_brcmstb_ops_7216 = { .set_clock = sdhci_brcmstb_set_clock, .set_bus_width = sdhci_set_bus_width, -@@ -179,10 +479,16 @@ static const struct brcmstb_match_priv m +@@ -180,10 +480,16 @@ static const struct brcmstb_match_priv m .ops = &sdhci_brcmstb_ops_7216, }; @@ -418,7 +418,7 @@ Signed-off-by: Jonathan Bell {}, }; -@@ -255,6 +561,8 @@ static int sdhci_brcmstb_probe(struct pl +@@ -256,6 +562,8 @@ static int sdhci_brcmstb_probe(struct pl struct sdhci_brcmstb_priv *priv; u32 actual_clock_mhz; struct sdhci_host *host; @@ -427,7 +427,7 @@ Signed-off-by: Jonathan Bell struct clk *clk; struct clk *base_clk = NULL; int res; -@@ -283,6 +591,11 @@ static int sdhci_brcmstb_probe(struct pl +@@ -284,6 +592,11 @@ static int sdhci_brcmstb_probe(struct pl match_priv->ops->irq = sdhci_brcmstb_cqhci_irq; } @@ -439,7 +439,7 @@ Signed-off-by: Jonathan Bell /* Map in the non-standard CFG registers */ priv->cfg_regs = devm_platform_get_and_ioremap_resource(pdev, 1, NULL); if (IS_ERR(priv->cfg_regs)) { -@@ -295,6 +608,43 @@ static int sdhci_brcmstb_probe(struct pl +@@ -296,6 +609,43 @@ static int sdhci_brcmstb_probe(struct pl if (res) goto err; @@ -483,7 +483,7 @@ Signed-off-by: Jonathan Bell /* * Automatic clock gating does not work for SD cards that may * voltage switch so only enable it for non-removable devices. -@@ -311,6 +661,13 @@ static int sdhci_brcmstb_probe(struct pl +@@ -312,6 +662,13 @@ static int sdhci_brcmstb_probe(struct pl (host->mmc->caps2 & MMC_CAP2_HS400_ES)) host->mmc_host_ops.hs400_enhanced_strobe = match_priv->hs400es; 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 377e5a2385..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 -@@ -3047,6 +3047,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, -@@ -3062,6 +3071,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 }; /*****************************************************************************\ -@@ -4580,6 +4590,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-0519-usb-dwc3-Set-DMA-and-coherent-masks-early.patch b/target/linux/bcm27xx/patches-6.6/950-0519-usb-dwc3-Set-DMA-and-coherent-masks-early.patch index 4baa0a18d8..d01a37d690 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0519-usb-dwc3-Set-DMA-and-coherent-masks-early.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0519-usb-dwc3-Set-DMA-and-coherent-masks-early.patch @@ -212,7 +212,7 @@ Signed-off-by: Jonathan Bell }, --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c -@@ -1163,6 +1163,24 @@ static void dwc3_config_threshold(struct +@@ -1181,6 +1181,24 @@ static void dwc3_config_threshold(struct } } @@ -237,7 +237,7 @@ Signed-off-by: Jonathan Bell /** * dwc3_core_init - Low-level initialization of DWC3 Core * @dwc: Pointer to our controller context structure -@@ -1228,6 +1246,8 @@ static int dwc3_core_init(struct dwc3 *d +@@ -1246,6 +1264,8 @@ static int dwc3_core_init(struct dwc3 *d dwc3_set_incr_burst_type(dwc); @@ -246,7 +246,7 @@ Signed-off-by: Jonathan Bell ret = dwc3_phy_power_on(dwc); if (ret) goto err_exit_phy; -@@ -1302,6 +1322,24 @@ static int dwc3_core_init(struct dwc3 *d +@@ -1320,6 +1340,24 @@ static int dwc3_core_init(struct dwc3 *d dwc3_config_threshold(dwc); @@ -271,7 +271,7 @@ Signed-off-by: Jonathan Bell return 0; err_power_off_phy: -@@ -1445,6 +1483,7 @@ static void dwc3_get_properties(struct d +@@ -1463,6 +1501,7 @@ static void dwc3_get_properties(struct d u8 tx_thr_num_pkt_prd = 0; u8 tx_max_burst_prd = 0; u8 tx_fifo_resize_max_num; @@ -279,7 +279,7 @@ Signed-off-by: Jonathan Bell const char *usb_psy_name; int ret; -@@ -1467,6 +1506,9 @@ static void dwc3_get_properties(struct d +@@ -1485,6 +1524,9 @@ static void dwc3_get_properties(struct d */ tx_fifo_resize_max_num = 6; @@ -289,7 +289,7 @@ Signed-off-by: Jonathan Bell dwc->maximum_speed = usb_get_maximum_speed(dev); dwc->max_ssp_rate = usb_get_maximum_ssp_rate(dev); dwc->dr_mode = usb_get_dr_mode(dev); -@@ -1588,6 +1630,9 @@ static void dwc3_get_properties(struct d +@@ -1606,6 +1648,9 @@ static void dwc3_get_properties(struct d dwc->dis_split_quirk = device_property_read_bool(dev, "snps,dis-split-quirk"); @@ -299,7 +299,7 @@ Signed-off-by: Jonathan Bell dwc->lpm_nyet_threshold = lpm_nyet_threshold; dwc->tx_de_emphasis = tx_de_emphasis; -@@ -1605,6 +1650,8 @@ static void dwc3_get_properties(struct d +@@ -1623,6 +1668,8 @@ static void dwc3_get_properties(struct d dwc->tx_thr_num_pkt_prd = tx_thr_num_pkt_prd; dwc->tx_max_burst_prd = tx_max_burst_prd; @@ -308,7 +308,7 @@ Signed-off-by: Jonathan Bell dwc->imod_interval = 0; dwc->tx_fifo_resize_max_num = tx_fifo_resize_max_num; -@@ -1880,6 +1927,12 @@ static int dwc3_probe(struct platform_de +@@ -1898,6 +1945,12 @@ static int dwc3_probe(struct platform_de dwc3_get_properties(dwc); @@ -341,7 +341,7 @@ Signed-off-by: Jonathan Bell * @hsphy_interface: "utmi" or "ulpi" * @connected: true when we're connected to a host, false otherwise * @softconnect: true when gadget connect is called, false when disconnect runs -@@ -1293,6 +1297,7 @@ struct dwc3 { +@@ -1294,6 +1298,7 @@ struct dwc3 { u8 tx_max_burst_prd; u8 tx_fifo_resize_max_num; u8 clear_stall_protocol; diff --git a/target/linux/bcm27xx/patches-6.6/950-0636-drm-panel-simple-Alter-the-timing-for-the-Pi-7-DSI-d.patch b/target/linux/bcm27xx/patches-6.6/950-0636-drm-panel-simple-Alter-the-timing-for-the-Pi-7-DSI-d.patch index ea841d4248..b72020d7e4 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0636-drm-panel-simple-Alter-the-timing-for-the-Pi-7-DSI-d.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0636-drm-panel-simple-Alter-the-timing-for-the-Pi-7-DSI-d.patch @@ -16,7 +16,7 @@ Signed-off-by: Dave Stevenson --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c -@@ -3437,11 +3437,11 @@ static const struct panel_desc rocktech_ +@@ -3438,11 +3438,11 @@ static const struct panel_desc rocktech_ }; static const struct drm_display_mode raspberrypi_7inch_mode = { diff --git a/target/linux/bcm27xx/patches-6.6/950-0679-drm-fb-helper-Look-up-preferred-fbdev-node-number-fr.patch b/target/linux/bcm27xx/patches-6.6/950-0679-drm-fb-helper-Look-up-preferred-fbdev-node-number-fr.patch index 5ccd9497e7..f1eafeefe7 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0679-drm-fb-helper-Look-up-preferred-fbdev-node-number-fr.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0679-drm-fb-helper-Look-up-preferred-fbdev-node-number-fr.patch @@ -15,7 +15,7 @@ Signed-off-by: Dave Stevenson --- a/drivers/gpu/drm/drm_fb_helper.c +++ b/drivers/gpu/drm/drm_fb_helper.c -@@ -1837,7 +1837,7 @@ __drm_fb_helper_initial_config_and_unloc +@@ -1840,7 +1840,7 @@ __drm_fb_helper_initial_config_and_unloc struct drm_device *dev = fb_helper->dev; struct fb_info *info; unsigned int width, height; 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 77361dc84c..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 sdhci_writew(host, SDHCI_MAKE_CMD(cmd->opcode, flags), SDHCI_COMMAND); return true; -@@ -3306,6 +3312,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-0757-drm-panel-add-panel-dsi.patch b/target/linux/bcm27xx/patches-6.6/950-0757-drm-panel-add-panel-dsi.patch index d421386183..989fe3315f 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0757-drm-panel-add-panel-dsi.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0757-drm-panel-add-panel-dsi.patch @@ -23,7 +23,7 @@ Signed-off-by: Timon Skerutsch /** * struct panel_desc - Describes a simple panel. -@@ -4874,6 +4875,9 @@ static const struct panel_desc_dsi osd10 +@@ -4875,6 +4876,9 @@ static const struct panel_desc_dsi osd10 .lanes = 4, }; @@ -33,7 +33,7 @@ Signed-off-by: Timon Skerutsch static const struct of_device_id dsi_of_match[] = { { .compatible = "auo,b080uan01", -@@ -4897,20 +4901,137 @@ static const struct of_device_id dsi_of_ +@@ -4898,20 +4902,137 @@ static const struct of_device_id dsi_of_ .compatible = "osddisplays,osd101t2045-53ts", .data = &osd101t2045_53ts }, { diff --git a/target/linux/bcm27xx/patches-6.6/950-0835-mmc-sdhci-brcmstb-remove-32-bit-accessors-for-BCM271.patch b/target/linux/bcm27xx/patches-6.6/950-0835-mmc-sdhci-brcmstb-remove-32-bit-accessors-for-BCM271.patch index 88361d889e..04ca482a63 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0835-mmc-sdhci-brcmstb-remove-32-bit-accessors-for-BCM271.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0835-mmc-sdhci-brcmstb-remove-32-bit-accessors-for-BCM271.patch @@ -26,7 +26,7 @@ Signed-off-by: Jonathan Bell default ARCH_BRCMSTB || BMIPS_GENERIC --- a/drivers/mmc/host/sdhci-brcmstb.c +++ b/drivers/mmc/host/sdhci-brcmstb.c -@@ -49,10 +49,6 @@ struct sdhci_brcmstb_priv { +@@ -50,10 +50,6 @@ struct sdhci_brcmstb_priv { unsigned int flags; struct clk *base_clk; u32 base_freq_hz; @@ -37,7 +37,7 @@ Signed-off-by: Jonathan Bell struct regulator *sde_1v8; struct device_node *sde_pcie; void *__iomem sde_ioaddr; -@@ -121,113 +117,6 @@ static void sdhci_brcmstb_set_clock(stru +@@ -122,113 +118,6 @@ static void sdhci_brcmstb_set_clock(stru sdhci_enable_clk(host, clk); } @@ -151,7 +151,7 @@ Signed-off-by: Jonathan Bell static void sdhci_brcmstb_set_power(struct sdhci_host *host, unsigned char mode, unsigned short vdd) { -@@ -441,12 +330,6 @@ static struct sdhci_ops sdhci_brcmstb_op +@@ -442,12 +331,6 @@ static struct sdhci_ops sdhci_brcmstb_op }; static struct sdhci_ops sdhci_brcmstb_ops_2712 = { diff --git a/target/linux/bcm27xx/patches-6.6/950-0853-drivers-usb-dwc3-add-FS-LS-bus-instance-parkmode-dis.patch b/target/linux/bcm27xx/patches-6.6/950-0853-drivers-usb-dwc3-add-FS-LS-bus-instance-parkmode-dis.patch index 612179f5e4..3028b82619 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0853-drivers-usb-dwc3-add-FS-LS-bus-instance-parkmode-dis.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0853-drivers-usb-dwc3-add-FS-LS-bus-instance-parkmode-dis.patch @@ -16,7 +16,7 @@ Signed-off-by: Jonathan Bell --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c -@@ -1312,6 +1312,9 @@ static int dwc3_core_init(struct dwc3 *d +@@ -1330,6 +1330,9 @@ static int dwc3_core_init(struct dwc3 *d if (dwc->parkmode_disable_hs_quirk) reg |= DWC3_GUCTL1_PARKMODE_DISABLE_HS; @@ -26,7 +26,7 @@ Signed-off-by: Jonathan Bell if (DWC3_VER_IS_WITHIN(DWC3, 290A, ANY) && (dwc->maximum_speed == USB_SPEED_HIGH || dwc->maximum_speed == USB_SPEED_FULL)) -@@ -1610,6 +1613,8 @@ static void dwc3_get_properties(struct d +@@ -1628,6 +1631,8 @@ static void dwc3_get_properties(struct d "snps,parkmode-disable-ss-quirk"); dwc->parkmode_disable_hs_quirk = device_property_read_bool(dev, "snps,parkmode-disable-hs-quirk"); @@ -62,7 +62,7 @@ Signed-off-by: Jonathan Bell * @tx_de_emphasis_quirk: set if we enable Tx de-emphasis quirk * @tx_de_emphasis: Tx de-emphasis value * 0 - -6dB de-emphasis -@@ -1341,6 +1344,7 @@ struct dwc3 { +@@ -1342,6 +1345,7 @@ struct dwc3 { unsigned ulpi_ext_vbus_drv:1; unsigned parkmode_disable_ss_quirk:1; unsigned parkmode_disable_hs_quirk:1; diff --git a/target/linux/bcm27xx/patches-6.6/950-0891-drivers-mmc-sdhci-brcmstb-fix-usage-of-SD_PIN_SEL-on.patch b/target/linux/bcm27xx/patches-6.6/950-0891-drivers-mmc-sdhci-brcmstb-fix-usage-of-SD_PIN_SEL-on.patch index 1ccb6e6a1f..1880914986 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0891-drivers-mmc-sdhci-brcmstb-fix-usage-of-SD_PIN_SEL-on.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0891-drivers-mmc-sdhci-brcmstb-fix-usage-of-SD_PIN_SEL-on.patch @@ -22,7 +22,7 @@ Signed-off-by: Jonathan Bell --- a/drivers/mmc/host/sdhci-brcmstb.c +++ b/drivers/mmc/host/sdhci-brcmstb.c -@@ -38,7 +38,8 @@ +@@ -39,7 +39,8 @@ #define SDIO_CFG_SD_PIN_SEL 0x44 #define SDIO_CFG_SD_PIN_SEL_MASK 0x3 @@ -32,7 +32,7 @@ Signed-off-by: Jonathan Bell #define SDIO_CFG_MAX_50MHZ_MODE 0x1ac #define SDIO_CFG_MAX_50MHZ_MODE_STRAP_OVERRIDE BIT(31) -@@ -102,6 +103,42 @@ static void sdhci_brcmstb_hs400es(struct +@@ -103,6 +104,42 @@ static void sdhci_brcmstb_hs400es(struct writel(reg, host->ioaddr + SDHCI_VENDOR); } @@ -75,7 +75,7 @@ Signed-off-by: Jonathan Bell static void sdhci_brcmstb_set_clock(struct sdhci_host *host, unsigned int clock) { u16 clk; -@@ -161,22 +198,16 @@ static void sdhci_brcmstb_cfginit_2712(s +@@ -162,22 +199,16 @@ static void sdhci_brcmstb_cfginit_2712(s { struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); struct sdhci_brcmstb_priv *brcmstb_priv = sdhci_pltfm_priv(pltfm_host); @@ -102,7 +102,7 @@ Signed-off-by: Jonathan Bell reg = readl(brcmstb_priv->cfg_regs + SDIO_CFG_MAX_50MHZ_MODE); reg &= ~SDIO_CFG_MAX_50MHZ_MODE_ENABLE; reg |= SDIO_CFG_MAX_50MHZ_MODE_STRAP_OVERRIDE; -@@ -190,12 +221,6 @@ static void sdhci_brcmstb_cfginit_2712(s +@@ -191,12 +222,6 @@ static void sdhci_brcmstb_cfginit_2712(s reg &= ~SDIO_CFG_CTRL_SDCD_N_TEST_LEV; reg |= SDIO_CFG_CTRL_SDCD_N_TEST_EN; writel(reg, brcmstb_priv->cfg_regs + SDIO_CFG_CTRL); @@ -115,7 +115,7 @@ Signed-off-by: Jonathan Bell } } -@@ -330,7 +355,7 @@ static struct sdhci_ops sdhci_brcmstb_op +@@ -331,7 +356,7 @@ static struct sdhci_ops sdhci_brcmstb_op }; static struct sdhci_ops sdhci_brcmstb_ops_2712 = { diff --git a/target/linux/bcm27xx/patches-6.6/950-0981-drivers-sdhci-brcmstb-set-CQE-timer-clock-frequency.patch b/target/linux/bcm27xx/patches-6.6/950-0981-drivers-sdhci-brcmstb-set-CQE-timer-clock-frequency.patch index fec43e0be6..cd3417e194 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0981-drivers-sdhci-brcmstb-set-CQE-timer-clock-frequency.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0981-drivers-sdhci-brcmstb-set-CQE-timer-clock-frequency.patch @@ -17,7 +17,7 @@ Signed-off-by: Jonathan Bell --- a/drivers/mmc/host/sdhci-brcmstb.c +++ b/drivers/mmc/host/sdhci-brcmstb.c -@@ -41,6 +41,9 @@ +@@ -42,6 +42,9 @@ #define SDIO_CFG_SD_PIN_SEL_SD BIT(1) #define SDIO_CFG_SD_PIN_SEL_MMC BIT(0) @@ -27,7 +27,7 @@ Signed-off-by: Jonathan Bell #define SDIO_CFG_MAX_50MHZ_MODE 0x1ac #define SDIO_CFG_MAX_50MHZ_MODE_STRAP_OVERRIDE BIT(31) #define SDIO_CFG_MAX_50MHZ_MODE_ENABLE BIT(0) -@@ -201,7 +204,7 @@ static void sdhci_brcmstb_cfginit_2712(s +@@ -202,7 +205,7 @@ static void sdhci_brcmstb_cfginit_2712(s u32 uhs_mask = (MMC_CAP_UHS_SDR50 | MMC_CAP_UHS_SDR104); u32 hsemmc_mask = (MMC_CAP2_HS200_1_8V_SDR | MMC_CAP2_HS200_1_2V_SDR | MMC_CAP2_HS400_1_8V | MMC_CAP2_HS400_1_2V); @@ -36,7 +36,7 @@ Signed-off-by: Jonathan Bell /* * If we support a speed that requires tuning, -@@ -222,6 +225,11 @@ static void sdhci_brcmstb_cfginit_2712(s +@@ -223,6 +226,11 @@ static void sdhci_brcmstb_cfginit_2712(s reg |= SDIO_CFG_CTRL_SDCD_N_TEST_EN; writel(reg, brcmstb_priv->cfg_regs + SDIO_CFG_CTRL); } @@ -48,7 +48,7 @@ Signed-off-by: Jonathan Bell } static int bcm2712_init_sd_express(struct sdhci_host *host, struct mmc_ios *ios) -@@ -493,6 +501,8 @@ static int sdhci_brcmstb_probe(struct pl +@@ -494,6 +502,8 @@ static int sdhci_brcmstb_probe(struct pl return PTR_ERR(host); pltfm_host = sdhci_priv(host); @@ -57,7 +57,7 @@ Signed-off-by: Jonathan Bell priv = sdhci_pltfm_priv(pltfm_host); if (device_property_read_bool(&pdev->dev, "supports-cqe")) { priv->flags |= BRCMSTB_PRIV_FLAGS_HAS_CQE; -@@ -623,7 +633,6 @@ add_host: +@@ -627,7 +637,6 @@ add_host: if (res) goto err; diff --git a/target/linux/bcm27xx/patches-6.6/950-0986-Revert-net-usb-ax88179_178a-avoid-two-consecutive-de.patch b/target/linux/bcm27xx/patches-6.6/950-0986-Revert-net-usb-ax88179_178a-avoid-two-consecutive-de.patch index 518aab3fa4..29ba36f7a0 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0986-Revert-net-usb-ax88179_178a-avoid-two-consecutive-de.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0986-Revert-net-usb-ax88179_178a-avoid-two-consecutive-de.patch @@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/usb/ax88179_178a.c +++ b/drivers/net/usb/ax88179_178a.c -@@ -1319,6 +1319,8 @@ static int ax88179_bind(struct usbnet *d +@@ -1320,6 +1320,8 @@ static int ax88179_bind(struct usbnet *d ax88179_reset(dev); diff --git a/target/linux/bcm27xx/patches-6.6/950-0988-drivers-sdhci-brcmstb-work-around-mystery-CQE-CMD_ID.patch b/target/linux/bcm27xx/patches-6.6/950-0988-drivers-sdhci-brcmstb-work-around-mystery-CQE-CMD_ID.patch index 342328ea2b..0e018a8242 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0988-drivers-sdhci-brcmstb-work-around-mystery-CQE-CMD_ID.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0988-drivers-sdhci-brcmstb-work-around-mystery-CQE-CMD_ID.patch @@ -17,7 +17,7 @@ Signed-off-by: Jonathan Bell --- a/drivers/mmc/host/sdhci-brcmstb.c +++ b/drivers/mmc/host/sdhci-brcmstb.c -@@ -338,6 +338,7 @@ static void sdhci_brcmstb_dumpregs(struc +@@ -339,6 +339,7 @@ static void sdhci_brcmstb_dumpregs(struc static void sdhci_brcmstb_cqe_enable(struct mmc_host *mmc) { struct sdhci_host *host = mmc_priv(mmc); @@ -25,7 +25,7 @@ Signed-off-by: Jonathan Bell u32 reg; reg = sdhci_readl(host, SDHCI_PRESENT_STATE); -@@ -347,6 +348,9 @@ static void sdhci_brcmstb_cqe_enable(str +@@ -348,6 +349,9 @@ static void sdhci_brcmstb_cqe_enable(str } sdhci_cqe_enable(mmc); diff --git a/target/linux/bcm27xx/patches-6.6/950-1020-drivers-mmc-sdhci-brcmstb-bcm2712-supports-HS400es-a.patch b/target/linux/bcm27xx/patches-6.6/950-1020-drivers-mmc-sdhci-brcmstb-bcm2712-supports-HS400es-a.patch index 110c705c64..d1cf7811b0 100644 --- a/target/linux/bcm27xx/patches-6.6/950-1020-drivers-mmc-sdhci-brcmstb-bcm2712-supports-HS400es-a.patch +++ b/target/linux/bcm27xx/patches-6.6/950-1020-drivers-mmc-sdhci-brcmstb-bcm2712-supports-HS400es-a.patch @@ -14,7 +14,7 @@ Signed-off-by: Jonathan Bell --- a/drivers/mmc/host/sdhci-brcmstb.c +++ b/drivers/mmc/host/sdhci-brcmstb.c -@@ -400,6 +400,8 @@ static const struct brcmstb_match_priv m +@@ -401,6 +401,8 @@ static const struct brcmstb_match_priv m }; static const struct brcmstb_match_priv match_priv_2712 = { diff --git a/target/linux/bcm27xx/patches-6.6/950-1069-drm-panel-simple-Fix-7inch-panel-mode-for-misalignme.patch b/target/linux/bcm27xx/patches-6.6/950-1069-drm-panel-simple-Fix-7inch-panel-mode-for-misalignme.patch index 29f4fb78af..6a413ec90b 100644 --- a/target/linux/bcm27xx/patches-6.6/950-1069-drm-panel-simple-Fix-7inch-panel-mode-for-misalignme.patch +++ b/target/linux/bcm27xx/patches-6.6/950-1069-drm-panel-simple-Fix-7inch-panel-mode-for-misalignme.patch @@ -16,7 +16,7 @@ Signed-off-by: Dave Stevenson --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c -@@ -3420,11 +3420,11 @@ static const struct drm_display_mode ras +@@ -3421,11 +3421,11 @@ static const struct drm_display_mode ras .hdisplay = 800, .hsync_start = 800 + 59, .hsync_end = 800 + 59 + 2, diff --git a/target/linux/bcm27xx/patches-6.6/950-1070-drm-panel-simple-Increase-pixel-clock-on-Pi-7inch-pa.patch b/target/linux/bcm27xx/patches-6.6/950-1070-drm-panel-simple-Increase-pixel-clock-on-Pi-7inch-pa.patch index 30f56faf4d..68129c8de9 100644 --- a/target/linux/bcm27xx/patches-6.6/950-1070-drm-panel-simple-Increase-pixel-clock-on-Pi-7inch-pa.patch +++ b/target/linux/bcm27xx/patches-6.6/950-1070-drm-panel-simple-Increase-pixel-clock-on-Pi-7inch-pa.patch @@ -21,7 +21,7 @@ Signed-off-by: Dave Stevenson --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c -@@ -3416,11 +3416,11 @@ static const struct panel_desc rocktech_ +@@ -3417,11 +3417,11 @@ static const struct panel_desc rocktech_ }; static const struct drm_display_mode raspberrypi_7inch_mode = { diff --git a/target/linux/bcm27xx/patches-6.6/950-1112-mmc-sdhci-brcmstb-add-hs400_downgrade-callback-for-b.patch b/target/linux/bcm27xx/patches-6.6/950-1112-mmc-sdhci-brcmstb-add-hs400_downgrade-callback-for-b.patch index 3238a62827..0c9a842ce6 100644 --- a/target/linux/bcm27xx/patches-6.6/950-1112-mmc-sdhci-brcmstb-add-hs400_downgrade-callback-for-b.patch +++ b/target/linux/bcm27xx/patches-6.6/950-1112-mmc-sdhci-brcmstb-add-hs400_downgrade-callback-for-b.patch @@ -17,7 +17,7 @@ Signed-off-by: Jonathan Bell --- a/drivers/mmc/host/sdhci-brcmstb.c +++ b/drivers/mmc/host/sdhci-brcmstb.c -@@ -197,6 +197,20 @@ static void sdhci_brcmstb_set_uhs_signal +@@ -198,6 +198,20 @@ static void sdhci_brcmstb_set_uhs_signal sdhci_writew(host, ctrl_2, SDHCI_HOST_CONTROL2); } @@ -38,7 +38,7 @@ Signed-off-by: Jonathan Bell static void sdhci_brcmstb_cfginit_2712(struct sdhci_host *host) { struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); -@@ -215,6 +229,8 @@ static void sdhci_brcmstb_cfginit_2712(s +@@ -216,6 +230,8 @@ static void sdhci_brcmstb_cfginit_2712(s reg &= ~SDIO_CFG_MAX_50MHZ_MODE_ENABLE; reg |= SDIO_CFG_MAX_50MHZ_MODE_STRAP_OVERRIDE; writel(reg, brcmstb_priv->cfg_regs + SDIO_CFG_MAX_50MHZ_MODE); 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 812d43b6cf..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 BUG_ON(data->blksz > host->mmc->max_blk_size); BUG_ON(data->blocks > 65535); -@@ -4724,11 +4724,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-1133-drivers-mmc-sdhci-brcmstb-improve-bcm2712-card-remov.patch b/target/linux/bcm27xx/patches-6.6/950-1133-drivers-mmc-sdhci-brcmstb-improve-bcm2712-card-remov.patch index f521711977..6b772084fb 100644 --- a/target/linux/bcm27xx/patches-6.6/950-1133-drivers-mmc-sdhci-brcmstb-improve-bcm2712-card-remov.patch +++ b/target/linux/bcm27xx/patches-6.6/950-1133-drivers-mmc-sdhci-brcmstb-improve-bcm2712-card-remov.patch @@ -17,7 +17,7 @@ Signed-off-by: Jonathan Bell --- a/drivers/mmc/host/sdhci-brcmstb.c +++ b/drivers/mmc/host/sdhci-brcmstb.c -@@ -365,8 +365,21 @@ static void sdhci_brcmstb_cqe_enable(str +@@ -366,8 +366,21 @@ static void sdhci_brcmstb_cqe_enable(str sdhci_cqe_enable(mmc); @@ -41,7 +41,7 @@ Signed-off-by: Jonathan Bell } static const struct cqhci_host_ops sdhci_brcmstb_cqhci_ops = { -@@ -386,7 +399,7 @@ static struct sdhci_ops sdhci_brcmstb_op +@@ -387,7 +400,7 @@ static struct sdhci_ops sdhci_brcmstb_op .set_clock = sdhci_bcm2712_set_clock, .set_power = sdhci_brcmstb_set_power, .set_bus_width = sdhci_set_bus_width, diff --git a/target/linux/bcm27xx/patches-6.6/950-1142-fixup-drivers-mmc-sdhci-brcmstb-bcm2712-supports-HS4.patch b/target/linux/bcm27xx/patches-6.6/950-1142-fixup-drivers-mmc-sdhci-brcmstb-bcm2712-supports-HS4.patch index fb08ba1ad5..227d54cbbf 100644 --- a/target/linux/bcm27xx/patches-6.6/950-1142-fixup-drivers-mmc-sdhci-brcmstb-bcm2712-supports-HS4.patch +++ b/target/linux/bcm27xx/patches-6.6/950-1142-fixup-drivers-mmc-sdhci-brcmstb-bcm2712-supports-HS4.patch @@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell --- a/drivers/mmc/host/sdhci-brcmstb.c +++ b/drivers/mmc/host/sdhci-brcmstb.c -@@ -429,7 +429,6 @@ static const struct brcmstb_match_priv m +@@ -430,7 +430,6 @@ static const struct brcmstb_match_priv m }; static const struct brcmstb_match_priv match_priv_2712 = { diff --git a/target/linux/generic/hack-6.6/902-debloat_proc.patch b/target/linux/generic/hack-6.6/902-debloat_proc.patch index 26832476c3..eda0f45b72 100644 --- a/target/linux/generic/hack-6.6/902-debloat_proc.patch +++ b/target/linux/generic/hack-6.6/902-debloat_proc.patch @@ -235,7 +235,7 @@ Signed-off-by: Felix Fietkau if (!pe) --- a/mm/vmalloc.c +++ b/mm/vmalloc.c -@@ -4438,6 +4438,8 @@ static const struct seq_operations vmall +@@ -4447,6 +4447,8 @@ static const struct seq_operations vmall static int __init proc_vmalloc_init(void) { diff --git a/target/linux/generic/pending-6.6/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch b/target/linux/generic/pending-6.6/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch index 07e923b69e..ca4620ef0c 100644 --- a/target/linux/generic/pending-6.6/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch +++ b/target/linux/generic/pending-6.6/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch @@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c -@@ -8268,7 +8268,7 @@ static int nft_register_flowtable_net_ho +@@ -8267,7 +8267,7 @@ static int nft_register_flowtable_net_ho err = flowtable->data.type->setup(&flowtable->data, hook->ops.dev, FLOW_BLOCK_BIND); diff --git a/target/linux/generic/pending-6.6/834-ledtrig-libata.patch b/target/linux/generic/pending-6.6/834-ledtrig-libata.patch index f5cd5e4a56..c2d281bfc7 100644 --- a/target/linux/generic/pending-6.6/834-ledtrig-libata.patch +++ b/target/linux/generic/pending-6.6/834-ledtrig-libata.patch @@ -83,20 +83,20 @@ Signed-off-by: Daniel Golle ata_sff_port_init(ap); return ap; -@@ -5530,6 +5547,12 @@ static void ata_host_release(struct kref - kfree(ap->pmp_link); - kfree(ap->slave_link); - kfree(ap->ncq_sense_buf); +@@ -5507,6 +5524,12 @@ void ata_port_free(struct ata_port *ap) + kfree(ap->pmp_link); + kfree(ap->slave_link); + kfree(ap->ncq_sense_buf); +#ifdef CONFIG_ATA_LEDS -+ if (ap->ledtrig) { -+ led_trigger_unregister(ap->ledtrig); -+ kfree(ap->ledtrig); -+ }; ++ if (ap->ledtrig) { ++ led_trigger_unregister(ap->ledtrig); ++ kfree(ap->ledtrig); ++ }; +#endif - kfree(ap); - host->ports[i] = NULL; - } -@@ -5920,7 +5943,23 @@ int ata_host_register(struct ata_host *h + kfree(ap); + } + EXPORT_SYMBOL_GPL(ata_port_free); +@@ -5927,7 +5950,23 @@ int ata_host_register(struct ata_host *h host->ports[i]->print_id = atomic_inc_return(&ata_print_id); host->ports[i]->local_port_no = i + 1; } diff --git a/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3588-armsom-sige7.dts b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3588-armsom-sige7.dts index b555a29998..85c922c1d8 100644 --- a/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3588-armsom-sige7.dts +++ b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3588-armsom-sige7.dts @@ -57,7 +57,6 @@ color = ; function = LED_FUNCTION_STATUS; gpios = <&gpio4 RK_PC5 GPIO_ACTIVE_HIGH>; - default-state = "on"; }; }; @@ -397,6 +396,8 @@ interrupt-parent = <&gpio0>; interrupts = ; interrupt-names = "host-wake"; + pinctrl-names = "default"; + pinctrl-0 = <&wifi_reg_on_h>; }; }; }; @@ -460,9 +461,15 @@ }; }; + pcie20 { + wifi_reg_on_h: wifi-reg-on-h { + rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_down>; + }; + }; + pcie30 { pcie30_pwren_h: pcie30-pwren-h { - rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; + rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_down>; }; }; @@ -499,7 +506,6 @@ &sdhci { bus-width = <8>; cap-mmc-highspeed; - mmc-hs200-1_8v; mmc-hs400-1_8v; mmc-hs400-enhanced-strobe; no-sdio;