Re: [PATCH 1/2] spi: dt-bindings: cdns,xspi: add sdma-io-width
From: Jisheng Zhang
Date: Tue May 19 2026 - 20:02:13 EST
On Fri, May 15, 2026 at 10:00:50AM +0200, Krzysztof Kozlowski wrote:
> On Mon, May 11, 2026 at 11:17:31AM +0800, Jisheng Zhang wrote:
> > The cdns xspi controller SDMA data port may support wider I/O width.
> > Wider I/O width can benefit performance. A simple test with QSPI nor
> > flash on one arm64 platform:
> >
> > 1 byte io width (default):
> > # dd if=/dev/mtdblock0 of=/dev/null bs=8192 count=1000
> > 1000+0 records in
> > 1000+0 records out
> > 8192000 bytes (7.8MB) copied, 1.368735 seconds, 5.7MB/s
> >
> > 4 bytes io width:
> > # dd if=/dev/mtdblock0 of=/dev/null bs=8192 count=1000
> > 1000+0 records in
> > 1000+0 records out
> > 8192000 bytes (7.8MB) copied, 1.088787 seconds, 7.2MB/s
> >
> > Improved by 26.3%!
> >
> > Add dt binding for sdma-io-width.
> >
> > Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxx>
> > ---
> > Documentation/devicetree/bindings/spi/cdns,xspi.yaml | 6 ++++++
> > 1 file changed, 6 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/spi/cdns,xspi.yaml b/Documentation/devicetree/bindings/spi/cdns,xspi.yaml
> > index 38a5795589de..1fd4b6dfd417 100644
> > --- a/Documentation/devicetree/bindings/spi/cdns,xspi.yaml
> > +++ b/Documentation/devicetree/bindings/spi/cdns,xspi.yaml
> > @@ -40,6 +40,12 @@ properties:
> > interrupts:
> > maxItems: 1
> >
> > + sdma-io-width:
> > + description: Slave DMA data port I/O width (in bytes)
>
> Waht is SDMA? What is Slave DMA? The same?
>
> Why this cannot be deduced from the compatible? DMA is fixed per
> platform and SDMA do not sound like SPI device (so slave in older
> terminology) property.
in cdns xspi, sdma == slave dma. It can be read by any master, such
as DMA engine or CPU. Its purpose and usage is similar as the data
reg in other spi controllers, e.g the DW_SPI_DR in dw spi.
>
> Anyway, there is generic property reg-io-width if this is for MMIO,
> bus-width and spi-tx/rx-bus-width.
Indeed, spi dw driver uses reg-io-width to specify the io width which
is for accessing DW_SPI_DR. But I have one question: the "sdma" name
is from cdns xspi HW, I'm not sure whether reg-io-width is better. If
you prefer reg-io-width, I will do it in v2
Thanks