Re: [PATCH 1/2] spi: dt-bindings: cdns,xspi: add sdma-io-width
From: Krzysztof Kozlowski
Date: Wed May 20 2026 - 08:20:09 EST
On 20/05/2026 13:48, Jisheng Zhang wrote:
> On Wed, May 20, 2026 at 09:09:55AM +0200, Krzysztof Kozlowski wrote:
>> On 20/05/2026 01:38, Jisheng Zhang wrote:
>>> 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.
>>
>> You did not really answer the questions.
>>
>
> If you mean "Why this cannot be deduced from the compatible?", I think
> the slave dma port is part of the cdns xspi, so its io width belongs
> to xSPI device property.
> From another side, we have seen such property in other drivers such as
> the reg-io-width for the dw spi DW_SPI_DR port io width.
So you mean it depends on SPI device? Then why spi-peripheral-props is
not applicable here?
If this is not bus width, but DMA-something, is not really then SPI
device dependent, but rather DMA controller limitation, so either
deducible from compatible or something else is missing here.
Argument that some drivers do that is obviously wrong, so I am jumping
there.
Best regards,
Krzysztof