kernel: bump 6.12 to 6.12.63
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run

Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.63

Manually rebased:
  qualcommax/patches-6.12/0113-remoteproc-qcom-Add-secure-PIL-support.patch
  qualcommax/patches-6.12/0116-remoteproc-qcom-Update-regmap-offsets-for-halt-regis.patch

Removed upstreamed:
  airoha/patches-6.12/029-14-spi-airoha-snfi-en7523-workaround-flash-damaging.patch[1]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.63&id=7be679104357439ff6eab076975f5f74368acd69

Build system: x86/64
Build-tested: flogic/glinet_gl-mt6000, ramips/tplink_archer-a6-v3, x86/64-glibc
Run-tested: flogic/glinet_gl-mt6000, ramips/tplink_archer-a6-v3, x86/64-glibc

Co-authored-by: Goetz Goerisch <ggoerisch@gmail.com>
Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21329
Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
John Audia 2025-12-18 10:10:55 -05:00 committed by Robert Marko
parent b3d1da9115
commit b638d886f0
18 changed files with 28 additions and 152 deletions

View file

@ -158,7 +158,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
.supports_op = airoha_snand_supports_op,
.exec_op = airoha_snand_exec_op,
.dirmap_create = airoha_snand_dirmap_create,
@@ -1101,36 +1026,6 @@ static int airoha_snand_setup(struct spi
@@ -1106,36 +1031,6 @@ static int airoha_snand_setup(struct spi
return 0;
}
@ -195,7 +195,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
static const struct regmap_config spi_ctrl_regmap_config = {
.name = "ctrl",
.reg_bits = 32,
@@ -1204,7 +1099,7 @@ static int airoha_snand_probe(struct pla
@@ -1227,7 +1122,7 @@ static int airoha_snand_probe(struct pla
ctrl->setup = airoha_snand_setup;
device_set_node(&ctrl->dev, dev_fwnode(dev));

View file

@ -1,102 +0,0 @@
From 061795b345aff371df8f71d54ae7c7dc8ae630d0 Mon Sep 17 00:00:00 2001
From: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
Date: Wed, 26 Nov 2025 02:40:45 +0300
Subject: [PATCH 14/14] spi: airoha-snfi: en7523: workaround flash damaging if
UART_TXD was short to GND
Airoha EN7523 specific bug
--------------------------
We found that some serial console may pull TX line to GROUND during board
boot time. Airoha uses TX line as one of its bootstrap pins. On the EN7523
SoC this may lead to booting in RESERVED boot mode.
It was found that some flashes operates incorrectly in RESERVED mode.
Micron and Skyhigh flashes are definitely affected by the issue,
Winbond flashes are not affected.
Details:
--------
DMA reading of odd pages on affected flashes operates incorrectly. Page
reading offset (start of the page) on hardware level is replaced by 0x10.
Thus results in incorrect data reading. As result OS loading becomes
impossible.
Usage of UBI make things even worse. On attaching, UBI will detects
corruptions (because of wrong reading of odd pages) and will try to
recover. For recovering UBI will erase and write 'damaged' blocks with
a valid information. This will destroy all UBI data.
Non-DMA reading is OK.
This patch detects booting in reserved mode, turn off DMA and print big
fat warning.
It's worth noting that the boot configuration is preserved across reboots.
Therefore, to boot normally, you should do the following:
- disconnect the serial console from the board,
- power cycle the board.
Fixes: a403997c12019 ("spi: airoha: add SPI-NAND Flash controller driver")
Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Link: https://patch.msgid.link/20251125234047.1101985-2-mikhail.kshevetskiy@iopsys.eu
Signed-off-by: Mark Brown <broonie@kernel.org>
---
drivers/spi/spi-airoha-snfi.c | 25 ++++++++++++++++++++++++-
1 file changed, 24 insertions(+), 1 deletion(-)
--- a/drivers/spi/spi-airoha-snfi.c
+++ b/drivers/spi/spi-airoha-snfi.c
@@ -1013,6 +1013,11 @@ static const struct spi_controller_mem_o
.dirmap_write = airoha_snand_dirmap_write,
};
+static const struct spi_controller_mem_ops airoha_snand_nodma_mem_ops = {
+ .supports_op = airoha_snand_supports_op,
+ .exec_op = airoha_snand_exec_op,
+};
+
static int airoha_snand_setup(struct spi_device *spi)
{
struct airoha_snand_ctrl *as_ctrl;
@@ -1057,7 +1062,9 @@ static int airoha_snand_probe(struct pla
struct airoha_snand_ctrl *as_ctrl;
struct device *dev = &pdev->dev;
struct spi_controller *ctrl;
+ bool dma_enable = true;
void __iomem *base;
+ u32 sfc_strap;
int err;
ctrl = devm_spi_alloc_host(dev, sizeof(*as_ctrl));
@@ -1092,12 +1099,28 @@ static int airoha_snand_probe(struct pla
return dev_err_probe(dev, PTR_ERR(as_ctrl->spi_clk),
"unable to get spi clk\n");
+ if (device_is_compatible(dev, "airoha,en7523-snand")) {
+ err = regmap_read(as_ctrl->regmap_ctrl,
+ REG_SPI_CTRL_SFC_STRAP, &sfc_strap);
+ if (err)
+ return err;
+
+ if (!(sfc_strap & 0x04)) {
+ dma_enable = false;
+ dev_warn(dev, "Detected booting in RESERVED mode (UART_TXD was short to GND).\n");
+ dev_warn(dev, "This mode is known for incorrect DMA reading of some flashes.\n");
+ dev_warn(dev, "Much slower PIO mode will be used to prevent flash data damage.\n");
+ dev_warn(dev, "Unplug UART cable and power cycle board to get full performance.\n");
+ }
+ }
+
err = dma_set_mask(as_ctrl->dev, DMA_BIT_MASK(32));
if (err)
return err;
ctrl->num_chipselect = 2;
- ctrl->mem_ops = &airoha_snand_mem_ops;
+ ctrl->mem_ops = dma_enable ? &airoha_snand_mem_ops
+ : &airoha_snand_nodma_mem_ops;
ctrl->bits_per_word_mask = SPI_BPW_MASK(8);
ctrl->mode_bits = SPI_RX_DUAL;
ctrl->setup = airoha_snand_setup;

View file

@ -15556,7 +15556,7 @@ Signed-off-by: j-schambacher <joerg@hifiberry.com>
imply SND_SOC_MAX98088
imply SND_SOC_MAX98090
imply SND_SOC_MAX98095
@@ -175,6 +177,7 @@ config SND_SOC_ALL_CODECS
@@ -176,6 +178,7 @@ config SND_SOC_ALL_CODECS
imply SND_SOC_PCM179X_SPI
imply SND_SOC_PCM186X_I2C
imply SND_SOC_PCM186X_SPI
@ -15564,7 +15564,7 @@ Signed-off-by: j-schambacher <joerg@hifiberry.com>
imply SND_SOC_PCM3008
imply SND_SOC_PCM3060_I2C
imply SND_SOC_PCM3060_SPI
@@ -267,6 +270,7 @@ config SND_SOC_ALL_CODECS
@@ -268,6 +271,7 @@ config SND_SOC_ALL_CODECS
imply SND_SOC_TLV320ADCX140
imply SND_SOC_TLV320AIC23_I2C
imply SND_SOC_TLV320AIC23_SPI
@ -15572,7 +15572,7 @@ Signed-off-by: j-schambacher <joerg@hifiberry.com>
imply SND_SOC_TLV320AIC26
imply SND_SOC_TLV320AIC31XX
imply SND_SOC_TLV320AIC32X4_I2C
@@ -424,12 +428,12 @@ config SND_SOC_AD193X
@@ -425,12 +429,12 @@ config SND_SOC_AD193X
tristate
config SND_SOC_AD193X_SPI
@ -15587,7 +15587,7 @@ Signed-off-by: j-schambacher <joerg@hifiberry.com>
depends on I2C
select SND_SOC_AD193X
@@ -1229,6 +1233,13 @@ config SND_SOC_LOCHNAGAR_SC
@@ -1230,6 +1234,13 @@ config SND_SOC_LOCHNAGAR_SC
This driver support the sound card functionality of the Cirrus
Logic Lochnagar audio development board.
@ -15601,7 +15601,7 @@ Signed-off-by: j-schambacher <joerg@hifiberry.com>
config SND_SOC_MADERA
tristate
default y if SND_SOC_CS47L15=y
@@ -1638,6 +1649,10 @@ config SND_SOC_RT5616
@@ -1639,6 +1650,10 @@ config SND_SOC_RT5616
tristate "Realtek RT5616 CODEC"
depends on I2C
@ -15612,7 +15612,7 @@ Signed-off-by: j-schambacher <joerg@hifiberry.com>
config SND_SOC_RT5631
tristate "Realtek ALC5631/RT5631 CODEC"
depends on I2C
@@ -1995,6 +2010,9 @@ config SND_SOC_TFA9879
@@ -1996,6 +2011,9 @@ config SND_SOC_TFA9879
tristate "NXP Semiconductors TFA9879 amplifier"
depends on I2C
@ -15622,7 +15622,7 @@ Signed-off-by: j-schambacher <joerg@hifiberry.com>
config SND_SOC_TFA989X
tristate "NXP/Goodix TFA989X (TFA1) amplifiers"
depends on I2C
@@ -2596,4 +2614,8 @@ config SND_SOC_LPASS_TX_MACRO
@@ -2601,4 +2619,8 @@ config SND_SOC_LPASS_TX_MACRO
select SND_SOC_LPASS_MACRO_COMMON
tristate "Qualcomm TX Macro in LPASS(Low Power Audio SubSystem)"
@ -15633,7 +15633,7 @@ Signed-off-by: j-schambacher <joerg@hifiberry.com>
endmenu
--- a/sound/soc/codecs/Makefile
+++ b/sound/soc/codecs/Makefile
@@ -820,3 +820,12 @@ obj-$(CONFIG_SND_SOC_LPASS_TX_MACRO) +=
@@ -822,3 +822,12 @@ obj-$(CONFIG_SND_SOC_LPASS_TX_MACRO) +=
# Mux
obj-$(CONFIG_SND_SOC_SIMPLE_MUX) += snd-soc-simple-mux.o

View file

@ -351,7 +351,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/usb/dwc3/host.c
+++ b/drivers/usb/dwc3/host.c
@@ -126,10 +126,12 @@ out:
@@ -129,10 +129,12 @@ out:
int dwc3_host_init(struct dwc3 *dwc)
{
@ -364,7 +364,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
/*
* Some platforms need to power off all Root hub ports immediately after DWC3 set to host
@@ -141,7 +143,12 @@ int dwc3_host_init(struct dwc3 *dwc)
@@ -144,7 +146,12 @@ int dwc3_host_init(struct dwc3 *dwc)
if (irq < 0)
return irq;

View file

@ -52,7 +52,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
/* L2 intc private data structure */
struct brcmstb_l2_intc_data {
struct irq_domain *domain;
@@ -299,11 +309,18 @@ static int __init brcmstb_l2_lvl_intc_of
@@ -295,11 +305,18 @@ static int brcmstb_l2_lvl_intc_of_init(s
return brcmstb_l2_intc_of_init(np, parent, &l2_lvl_intc_init);
}

View file

@ -409,7 +409,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/ipv4/inet_timewait_sock.c
+++ b/net/ipv4/inet_timewait_sock.c
@@ -296,7 +296,7 @@ void __inet_twsk_schedule(struct inet_ti
@@ -285,7 +285,7 @@ void __inet_twsk_schedule(struct inet_ti
*/
if (!rearm) {

View file

@ -1,2 +1,2 @@
LINUX_VERSION-6.12 = .62
LINUX_KERNEL_HASH-6.12.62 = 13e2c685ac8fab5dd992dd105732554dae514aef350c2a8c7418e7b74eb62c13
LINUX_VERSION-6.12 = .63
LINUX_KERNEL_HASH-6.12.63 = 9502c5ffe4b894383c97abfccf74430a84732f04ee476b9c0d87635b29df7db3

View file

@ -55,7 +55,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
}
--- a/net/netfilter/nft_flow_offload.c
+++ b/net/netfilter/nft_flow_offload.c
@@ -487,47 +487,14 @@ static struct nft_expr_type nft_flow_off
@@ -494,47 +494,14 @@ static struct nft_expr_type nft_flow_off
.owner = THIS_MODULE,
};

View file

@ -25,7 +25,7 @@ Signed-off-by: Nikhil Prakash V <nprakash@codeaurora.org>
@@ -86,6 +87,9 @@
#define TCSR_WCSS_CLK_ENABLE 0x14
#define MAX_HALT_REG 3
#define MAX_HALT_REG 4
+
+#define WCNSS_PAS_ID 6
+

View file

@ -13,15 +13,6 @@ Signed-off-by: Sricharan R <sricharan@codeaurora.org>
--- a/drivers/remoteproc/qcom_q6v5_wcss.c
+++ b/drivers/remoteproc/qcom_q6v5_wcss.c
@@ -86,7 +86,7 @@
#define TCSR_WCSS_CLK_MASK 0x1F
#define TCSR_WCSS_CLK_ENABLE 0x14
-#define MAX_HALT_REG 3
+#define MAX_HALT_REG 4
#define WCNSS_PAS_ID 6
@@ -155,6 +155,7 @@ struct wcss_data {
u32 version;
bool aon_reset_required;
@ -48,19 +39,6 @@ Signed-off-by: Sricharan R <sricharan@codeaurora.org>
}
return 0;
@@ -929,9 +933,9 @@ static int q6v5_wcss_init_mmio(struct q6
return -EINVAL;
}
- wcss->halt_q6 = halt_reg[0];
- wcss->halt_wcss = halt_reg[1];
- wcss->halt_nc = halt_reg[2];
+ wcss->halt_q6 = halt_reg[1];
+ wcss->halt_wcss = halt_reg[2];
+ wcss->halt_nc = halt_reg[3];
return 0;
}
@@ -1173,6 +1177,7 @@ static const struct wcss_data wcss_ipq80
.crash_reason_smem = WCSS_CRASH_REASON,
.aon_reset_required = true,

View file

@ -1,6 +1,6 @@
--- a/drivers/usb/dwc2/platform.c
+++ b/drivers/usb/dwc2/platform.c
@@ -481,6 +481,12 @@ static int dwc2_driver_probe(struct plat
@@ -484,6 +484,12 @@ static int dwc2_driver_probe(struct plat
if (retval)
return retval;

View file

@ -23,7 +23,7 @@ Submitted-by: Markus Stockhausen <markus.stockhausen@gmx.de>
source "drivers/clk/rockchip/Kconfig"
--- a/drivers/clk/Makefile
+++ b/drivers/clk/Makefile
@@ -123,6 +123,7 @@ obj-$(CONFIG_COMMON_CLK_PISTACHIO) += pi
@@ -122,6 +122,7 @@ obj-$(CONFIG_COMMON_CLK_PISTACHIO) += pi
obj-$(CONFIG_COMMON_CLK_PXA) += pxa/
obj-$(CONFIG_COMMON_CLK_QCOM) += qcom/
obj-y += ralink/

View file

@ -422,7 +422,7 @@ Signed-off-by: Heiko Stuebner <heiko@sntech.de>
};
--- a/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts
@@ -310,7 +310,7 @@
@@ -311,7 +311,7 @@
};
&pcie2x1l2 {
@ -431,7 +431,7 @@ Signed-off-by: Heiko Stuebner <heiko@sntech.de>
pinctrl-names = "default";
reset-gpios = <&gpio3 RK_PD1 GPIO_ACTIVE_HIGH>;
vpcie3v3-supply = <&vcc3v3_wf>;
@@ -328,6 +328,10 @@
@@ -329,6 +329,10 @@
pow_en: pow-en {
rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
};

View file

@ -37,7 +37,7 @@ Signed-off-by: Heiko Stuebner <heiko@sntech.de>
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
@@ -301,6 +313,31 @@
@@ -302,6 +314,31 @@
status = "okay";
};
@ -69,7 +69,7 @@ Signed-off-by: Heiko Stuebner <heiko@sntech.de>
&mdio1 {
rgmii_phy1: ethernet-phy@1 {
/* RTL8211F */
@@ -793,3 +830,18 @@
@@ -794,3 +831,18 @@
&usb_host2_xhci {
status = "okay";
};

View file

@ -15,7 +15,7 @@ Signed-off-by: Heiko Stuebner <heiko@sntech.de>
--- a/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts
@@ -334,7 +334,7 @@
@@ -335,7 +335,7 @@
};
};

View file

@ -35,7 +35,7 @@ Signed-off-by: Heiko Stuebner <heiko@sntech.de>
--- a/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts
@@ -359,6 +359,10 @@
@@ -360,6 +360,10 @@
status = "okay";
};

View file

@ -44,7 +44,7 @@ Signed-off-by: Tianling Shen <cnsztl@gmail.com>
};
};
@@ -365,8 +375,9 @@
@@ -366,8 +376,9 @@
&pinctrl {
leds {

View file

@ -20,7 +20,7 @@ Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
source "drivers/clk/sprd/Kconfig"
--- a/drivers/clk/Makefile
+++ b/drivers/clk/Makefile
@@ -127,6 +127,7 @@ obj-y += renesas/
@@ -126,6 +126,7 @@ obj-y += renesas/
obj-$(CONFIG_ARCH_ROCKCHIP) += rockchip/
obj-$(CONFIG_COMMON_CLK_SAMSUNG) += samsung/
obj-$(CONFIG_CLK_SIFIVE) += sifive/