[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1681996394-13099-1-git-send-email-quic_vnivarth@quicinc.com>
Date: Thu, 20 Apr 2023 18:43:09 +0530
From: Vijaya Krishna Nivarthi <quic_vnivarth@...cinc.com>
To: agross@...nel.org, andersson@...nel.org, konrad.dybcio@...aro.org,
broonie@...nel.org, robh+dt@...nel.org,
krzysztof.kozlowski+dt@...aro.org,
cros-qcom-dts-watchers@...omium.org, linux-arm-msm@...r.kernel.org,
linux-spi@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org
Cc: quic_msavaliy@...cinc.com, dianders@...omium.org, mka@...omium.org,
swboyd@...omium.org, quic_vtanuku@...cinc.com,
Vijaya Krishna Nivarthi <quic_vnivarth@...cinc.com>
Subject: [PATCH v4 0/5] spi: Add DMA mode support to spi-qcom-qspi
There are large number of QSPI irqs that fire during boot/init and later
on every suspend/resume.
This could be made faster by doing DMA instead of PIO.
Below is comparison for number of interrupts raised in 2 scenarios...
Boot up and stabilise
Suspend/Resume
Sequence PIO DMA
=======================
Boot-up 69088 19284
S/R 5066 3430
Speed test results...
spi-nor read times in sec after 2 min uptime
============================================
PIO - Iterations-1000, min=3.18, max=3.74, avg=3.53
DMA - Iterations-1000, min=1.21, max=2.28, avg=1.79
spi-nor write times in sec after 2 min uptime
=============================================
PIO - Iterations-1000, min=3.20, max=8.24, avg=3.58
DMA - Iterations-1000, min=1.25, max=5.13, avg=1.82
Further testing performed...
a) multiple entries in sgt (simulated by max_dma_len = 1024)
b) fallback to pio (simulated by dma setup failure)
Vijaya Krishna Nivarthi (5):
spi: dt-bindings: qcom,spi-qcom-qspi: Add iommus
arm64: dts: qcom: sc7180: Add stream-id of qspi to iommus
arm64: dts: qcom: sc7280: Add stream-id of qspi to iommus
arm64: dts: qcom: sdm845: Add stream-id of qspi to iommus
spi: spi-qcom-qspi: Add DMA mode support
---
v3 -> v4:
- Dropped unaligned dma buffer handling
- Added sdm845, sc7180 dtsis to the series
v2 -> v3:
- Modified commit messages
- Made a change to driver based on re-review
v1 -> v2:
- Added documentation file to the series
- Made changes to driver based on HPG re-review
---
.../bindings/spi/qcom,spi-qcom-qspi.yaml | 3 +
arch/arm64/boot/dts/qcom/sc7180.dtsi | 1 +
arch/arm64/boot/dts/qcom/sc7280.dtsi | 1 +
arch/arm64/boot/dts/qcom/sdm845.dtsi | 1 +
drivers/spi/spi-qcom-qspi.c | 292 +++++++++++++++++++--
5 files changed, 271 insertions(+), 27 deletions(-)
--
Qualcomm INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by the Linux Foundation.
Powered by blists - more mailing lists