RE: spi-rspi mixes DMA and PIO transfers causing PIO transfer to fail.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Is your source buffer in external SDRAM?

The one issue with DMA is that after each byte transfer, the DMA must first acquire a new value over SDRAM (no cache) and then write it to the RSPI IP block sitting on the peripheral bus. I figured that would make some latency between bytes, but maybe it takes longer than I assumed.

If you are using SDRAM for the source buffer, it would be interesting if you tried internal RAM for the source buffer instead (you could just hard code the address for testing).

Internally, the R-Car Gen2 busses (and external memory interface) are way faster than RZ/A1.

Chris





-----Original Message-----
From: Daniel Palmer [mailto:danieruru@xxxxxxxxx] 
Sent: Thursday, August 04, 2016 2:59 PM
To: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Cc: Chris Brandt <Chris.Brandt@xxxxxxxxxxx>; linux-renesas-soc@xxxxxxxxxxxxxxx
Subject: Re: spi-rspi mixes DMA and PIO transfers causing PIO transfer to fail.

On 5 August 2016 at 03:46, Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:

>     Performance figures for reading from a QSPI FLASH driven at 24.375 MHz
>     on r8a7791/koelsch:
>       - Single:  1.1 Mbps PIO, 23 Mbps DMA
>       - Dual  : 12.7 Mbps PIO, 48 Mbps DMA
>       - Quad  : 13   Mbps PIO, 70 Mbps DMA

Thanks for those numbers. I have something to aim for now. :) What I'm seeing on my logic analyser with the bus at 10MHz is 8 clocks taking ~500ns, ~1700ns of idle and then 8 more clocks. spi-rpi doesn't seem to set any of the registers for adding in delays so I guess it's to do with the DMA controller.

Cheers,

Daniel




[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux