On Mon, Dec 09, 2024 at 01:20:33PM +0530, Jyothi Kumar Seerapu wrote: > The DMA TRE(Transfer ring element) buffer contains the DMA > buffer address. Accessing data from this address can cause > significant delays in SPI transfers, which can be mitigated to > some extent by utilizing immediate DMA support. > > QCOM GPI DMA hardware supports an immediate DMA feature for data > up to 8 bytes, storing the data directly in the DMA TRE buffer > instead of the DMA buffer address. This enhancement enables faster > SPI data transfers. > > This optimization reduces the average transfer time from 25 us to > 16 us for a single SPI transfer of 8 bytes length, with a clock > frequency of 50 MHz. > > Signed-off-by: Jyothi Kumar Seerapu <quic_jseerapu@xxxxxxxxxxx> > --- > v4 -> v5: > - For Immediate DMA, instead of making dma type as 0x10 and then > enable 16th bit of dword3, directly updating the dma type as 0x11. > > Link to v4: > https://lore.kernel.org/all/20241205170611.18566-1-quic_jseerapu@xxxxxxxxxxx/ > > v3 -> v4: > - Instead using extra variable(immediate_dma) for Immediate dma > condition check, made it to inlined. > - Removed the extra brackets around Immediate dma condition check. > > Link to v3: > https://lore.kernel.org/lkml/20241204122059.24239-1-quic_jseerapu@xxxxxxxxxxx/ > > v2 -> v3: > - When to enable Immediate DMA support, control is moved to GPI driver > from SPI driver. > - Optimizations are done in GPI driver related to immediate dma changes. > - Removed the immediate dma supported changes in qcom-gpi-dma.h file > and handled in GPI driver. > > Link to v2: > https://lore.kernel.org/all/20241128133351.24593-2-quic_jseerapu@xxxxxxxxxxx/ > https://lore.kernel.org/all/20241128133351.24593-3-quic_jseerapu@xxxxxxxxxxx/ > > v1 -> v2: > - Separated the patches to dmaengine and spi subsystems > - Removed the changes which are not required for this feature from > qcom-gpi-dma.h file. > - Removed the type conversions used in gpi_create_spi_tre. > > Link to v1: > https://lore.kernel.org/lkml/20241121115201.2191-2-quic_jseerapu@xxxxxxxxxxx/ > > drivers/dma/qcom/gpi.c | 31 +++++++++++++++++++++++++------ > 1 file changed, 25 insertions(+), 6 deletions(-) > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> -- With best wishes Dmitry