From 71a5f1b6ee777cdef26f595cf15fd46f86bfca2d Mon Sep 17 00:00:00 2001 From: Leon Silcott Date: Mon, 31 Aug 2026 14:20:14 +0100 Subject: [PATCH 1/4] arm64: dts: qcom: x1-microsoft-denali: keep pon_resin disabled The SP11 volume-down change moved the button to the PMK8550 gpio-keys description and removed the old pon_resin override. The integration replay retained that obsolete override, leaving two descriptions of the same input. Remove the stale node override so the replay matches the source change and avoids duplicate volume-down handling. Signed-off-by: Leon Silcott --- arch/arm64/boot/dts/qcom/x1-microsoft-denali.dtsi | 6 ------ 1 file changed, 6 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/x1-microsoft-denali.dtsi b/arch/arm64/boot/dts/qcom/x1-microsoft-denali.dtsi index 4b969d13127e81..eb76e9991c5e15 100644 --- a/arch/arm64/boot/dts/qcom/x1-microsoft-denali.dtsi +++ b/arch/arm64/boot/dts/qcom/x1-microsoft-denali.dtsi @@ -1529,9 +1529,3 @@ &cluster_pd2 { domain-idle-states = <>; }; - -&pon_resin { - linux,code = ; - - status = "okay"; -}; From 64787f6e8319add2a1fae33d34695a194673c497 Mon Sep 17 00:00:00 2001 From: Leon Silcott Date: Mon, 31 Aug 2026 14:20:14 +0100 Subject: [PATCH 2/4] dmaengine: qcom: gpi: preserve DMA_PRIVATE capability The SP11 QSPI replay retained the phase55 transfer implementation but inadvertently dropped DMA_PRIVATE from the current 7.2.2 GPI driver. Restore the capability bit without changing the SP11 QSPI transfer path. Signed-off-by: Leon Silcott --- drivers/dma/qcom/gpi.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/dma/qcom/gpi.c b/drivers/dma/qcom/gpi.c index ab216ed3b36ad5..3883d08b9d94f3 100644 --- a/drivers/dma/qcom/gpi.c +++ b/drivers/dma/qcom/gpi.c @@ -2747,6 +2747,7 @@ static int gpi_probe(struct platform_device *pdev) /* clear and Set capabilities */ dma_cap_zero(gpi_dev->dma_device.cap_mask); dma_cap_set(DMA_SLAVE, gpi_dev->dma_device.cap_mask); + dma_cap_set(DMA_PRIVATE, gpi_dev->dma_device.cap_mask); /* configure dmaengine apis */ gpi_dev->dma_device.directions = BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV); From 0ba8a4c81c1c8fd0a355c194ce1d8996e3e1f4b1 Mon Sep 17 00:00:00 2001 From: Leon Silcott Date: Mon, 31 Aug 2026 14:20:15 +0100 Subject: [PATCH 3/4] spi: geni-qcom: preserve tracepoints in SP11 QSPI port The SP11 QSPI replay retained the phase55 paired-transfer implementation but replaced the current GENI SPI source without its trace hooks. Restore the tracepoint declaration and calls in the clock, setup, transfer and IRQ paths while leaving the QSPI behaviour unchanged. Signed-off-by: Leon Silcott --- drivers/spi/spi-geni-qcom.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/drivers/spi/spi-geni-qcom.c b/drivers/spi/spi-geni-qcom.c index 2db9cc547e1ee8..4dca112e1421bb 100644 --- a/drivers/spi/spi-geni-qcom.c +++ b/drivers/spi/spi-geni-qcom.c @@ -1,6 +1,9 @@ // SPDX-License-Identifier: GPL-2.0 // Copyright (c) 2017-2018, The Linux foundation. All rights reserved. +#define CREATE_TRACE_POINTS +#include + #include #include #include @@ -463,6 +466,9 @@ static int geni_spi_set_clock_and_bw(struct spi_geni_master *mas, writel(clk_sel, se->base + SE_GENI_CLK_SEL); writel(m_clk_cfg, se->base + GENI_SER_M_CLK_CFG); + trace_geni_spi_clk_cfg(mas->dev, clk_hz, mas->cur_sclk_hz, idx, div, + mas->cur_bits_per_word); + /* Set BW quota for CPU as driver supports FIFO mode only. */ se->icc_paths[CPU_TO_GENI].avg_bw = Bps_to_icc(mas->cur_speed_hz); ret = geni_icc_set_bw(se); @@ -497,6 +503,9 @@ static int setup_fifo_params(struct spi_device *spi_slv, if ((mode_changed & SPI_CS_HIGH) || (cs_changed && (spi_slv->mode & SPI_CS_HIGH))) writel((spi_slv->mode & SPI_CS_HIGH) ? BIT(chipselect) : 0, se->base + SE_SPI_DEMUX_OUTPUT_INV); + trace_geni_spi_setup_params(mas->dev, chipselect, spi_slv->mode, + mode_changed, cs_changed); + return 0; } @@ -1412,6 +1421,8 @@ static int setup_se_xfer(struct spi_transfer *xfer, spin_lock_irq(&mas->lock); geni_se_setup_m_cmd(se, m_cmd, m_params); + trace_geni_spi_transfer(mas->dev, len, m_cmd); + if (mas->cur_xfer_mode == GENI_SE_DMA) { if (m_cmd & SPI_RX_ONLY) geni_se_rx_init_dma(se, sg_dma_address(xfer->rx_sg.sgl), @@ -1466,6 +1477,8 @@ static irqreturn_t geni_spi_isr(int irq, void *data) if (!m_irq && !dma_tx_status && !dma_rx_status) return IRQ_NONE; + trace_geni_spi_irq(mas->dev, m_irq, dma_tx_status, dma_rx_status); + if (m_irq & (M_CMD_OVERRUN_EN | M_ILLEGAL_CMD_EN | M_CMD_FAILURE_EN | M_RX_FIFO_RD_ERR_EN | M_RX_FIFO_WR_ERR_EN | M_TX_FIFO_RD_ERR_EN | M_TX_FIFO_WR_ERR_EN)) From 116cef4df36a03c1f81056521fdd7f1aa11ee347 Mon Sep 17 00:00:00 2001 From: Leon Silcott Date: Mon, 31 Aug 2026 14:20:15 +0100 Subject: [PATCH 4/4] Ubuntu: bump SP11 staging ABI to v21 The correction series changes installable kernel contents after the staging branch published v20. Reusing that ABI would collide with existing v20 packages and prevent side-by-side validation. Advance only the staging ABI so the test packages are unambiguous and installable while retaining the previous kernel as a fallback. Signed-off-by: Leon Silcott --- debian.qcom-x1e/changelog | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/debian.qcom-x1e/changelog b/debian.qcom-x1e/changelog index 74897a2e1dc7ab..9c54974d63cab4 100644 --- a/debian.qcom-x1e/changelog +++ b/debian.qcom-x1e/changelog @@ -1,3 +1,11 @@ +linux-qcom-x1e (7.2.2-jg-0sp11v21) resolute; urgency=medium + + * Fix the Denali volume-down replay by leaving pon_resin disabled. + * Preserve the GPI DMA_PRIVATE capability and GENI SPI tracepoints in the + SP11 QSPI port. + + -- Leon Silcott Mon, 31 Aug 2026 14:15:14 +0100 + linux-qcom-x1e (7.2.2-jg-0sp11v20) resolute; urgency=medium * rebased the PR onto jg/ubunt-qcom-x1e-7.2.y