Re: [PATCH v3 2/2] arm64: dts: qcom: sc8280xp: Describe GPI DMA controller nodes
From: Konrad Dybcio
Date: Wed Jul 30 2025 - 18:33:18 EST
On 6/17/25 11:00 AM, Pengyu Luo wrote:
> SPI on SC8280XP requires DMA (GSI) mode to function properly. Without
> it, SPI controllers fall back to FIFO mode, which causes:
>
> [ 0.901296] geni_spi 898000.spi: error -ENODEV: Failed to get tx DMA ch
> [ 0.901305] geni_spi 898000.spi: FIFO mode disabled, but couldn't get DMA, fall back to FIFO mode
> ...
> [ 45.605974] goodix-spi-hid spi0.0: SPI transfer timed out
> [ 45.605988] geni_spi 898000.spi: Can't set CS when prev xfer running
> [ 46.621555] spi_master spi0: failed to transfer one message from queue
> [ 46.621568] spi_master spi0: noqueue transfer failed
> [ 46.621577] goodix-spi-hid spi0.0: spi transfer error: -110
> [ 46.621585] goodix-spi-hid spi0.0: probe with driver goodix-spi-hid failed with error -110
>
> Therefore, describe GPI DMA controller nodes for qup{0,1,2}, and
> describe DMA channels for SPI and I2C, UART is excluded for now, as
> it does not yet support this mode.
>
> Note that, since there is no public schematic, this is derived from
> Windows drivers. The drivers do not expose any DMA channel mask
> information, so all available channels are enabled.
>
> Signed-off-by: Pengyu Luo <mitltlatltl@xxxxxxxxx>
> ---
[...]
> + gpi_dma0: dma-controller@900000 {
Double space before '{'
> + compatible = "qcom,sc8280xp-gpi-dma", "qcom,sm6350-gpi-dma";
> + reg = <0 0x00900000 0 0x60000>;
> +
> + interrupts = <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>;
The last entry is incorrect and superfluous, please remove
You can also enable the gpi_dma nodes by default
lgtm otherwise
Konrad