[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAH2e8h50mtsEpAZoUvYtD-HRMeuDQ4pcjq6P=0vsjvtZoajC-g@mail.gmail.com>
Date: Fri, 1 Aug 2025 22:27:55 +0800
From: Pengyu Luo <mitltlatltl@...il.com>
To: Konrad Dybcio <konrad.dybcio@....qualcomm.com>
Cc: Vinod Koul <vkoul@...nel.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley <conor+dt@...nel.org>,
Bjorn Andersson <andersson@...nel.org>, Konrad Dybcio <konradybcio@...nel.org>,
Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>, linux-arm-msm@...r.kernel.org,
dmaengine@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 2/2] arm64: dts: qcom: sc8280xp: Describe GPI DMA
controller nodes
On Thu, Jul 31, 2025 at 6:33 AM Konrad Dybcio
<konrad.dybcio@....qualcomm.com> wrote:
>
> 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@...il.com>
> > ---
>
> [...]
>
> > + gpi_dma0: dma-controller@...000 {
>
> Double space before '{'
>
Ack
> > + 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
>
Sure, I can remove it. But the last entry is here in qcgpi8280.inf
[Hardware_Registry_Base_8280]
HKR,QUP\0,"NumGpii",%REG_DWORD%, 13
HKR,Interrupt\0,"0",%REG_DWORD%, 276
HKR,Interrupt\0,"1",%REG_DWORD%, 277
HKR,Interrupt\0,"2",%REG_DWORD%, 278
HKR,Interrupt\0,"3",%REG_DWORD%, 279
HKR,Interrupt\0,"4",%REG_DWORD%, 280
HKR,Interrupt\0,"5",%REG_DWORD%, 281
HKR,Interrupt\0,"6",%REG_DWORD%, 282
HKR,Interrupt\0,"7",%REG_DWORD%, 283
HKR,Interrupt\0,"8",%REG_DWORD%, 284
HKR,Interrupt\0,"9",%REG_DWORD%, 285
HKR,Interrupt\0,"10",%REG_DWORD%, 286
HKR,Interrupt\0,"11",%REG_DWORD%, 287
HKR,Interrupt\0,"12",%REG_DWORD%, 288
> You can also enable the gpi_dma nodes by default
>
Got it.
Best wishes,
Pengyu
Powered by blists - more mailing lists