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 acenarios... Boot up and stabilise Suspend/Resume Sequence PIO DMA ======================= Boot-up 69088 19284 S/R 5066 3430 Though we have not made measurements for speed, power we expect the performance to be better with DMA mode and no regressions were encountered in testing. Vijaya Krishna Nivarthi (3): spi: dt-bindings: qcom,spi-qcom-qspi: Add iommus arm64: dts: qcom: sc7280: Add stream-id of qspi to iommus spi: spi-qcom-qspi: Add DMA mode support --- 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/sc7280.dtsi | 1 + drivers/spi/spi-qcom-qspi.c | 434 +++++++++++++++++++-- 3 files changed, 407 insertions(+), 31 deletions(-) -- Qualcomm INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by the Linux Foundation.