linux-yocto/drivers/dma/qcom
Jyothi Kumar Seerapu a131169dfa dmaengine: qcom: gpi: Add GPI immediate DMA support for SPI protocol
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@quicinc.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8550-QRD
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20241209075033.16860-1-quic_jseerapu@quicinc.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2024-12-24 16:05:42 +05:30
..
bam_dma.c dmaengine: qcom: bam_dma: Avoid writing unavailable register 2024-12-24 15:06:40 +05:30
gpi.c dmaengine: qcom: gpi: Add GPI immediate DMA support for SPI protocol 2024-12-24 16:05:42 +05:30
hidma_dbg.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
hidma_ll.c dmaengine: qcom: convert tasklets to use new tasklet_setup() API 2020-09-18 12:19:07 +05:30
hidma_mgmt_sys.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
hidma_mgmt.c dmaengine: qcom: add missing MODULE_DESCRIPTION() macros 2024-06-07 23:15:55 +05:30
hidma_mgmt.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
hidma.c dmaengine: Switch back to struct platform_driver::remove() 2024-10-14 23:50:34 +05:30
hidma.h dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
Kconfig dmaengine: make QCOM_HIDMA depend on HAS_IOMEM 2023-05-18 17:01:17 +05:30
Makefile dmaengine: qcom: Add GPI dma driver 2020-11-24 21:42:07 +05:30
qcom_adm.c dmaengine: Switch back to struct platform_driver::remove() 2024-10-14 23:50:34 +05:30