Hi Bjorn, On Mon, Apr 24, 2023 at 2:32 AM Vijaya Krishna Nivarthi <quic_vnivarth@xxxxxxxxxxx> wrote: > > 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 Mark has landed the bindings / code changes: b5762d95607e spi: spi-qcom-qspi: Add DMA mode support 64c05eb3a0f4 spi: dt-bindings: qcom,spi-qcom-qspi: Add iommus ...so I think the dts changes here are ready for you to land. There are no hard dependencies here so you can land the dts without needing the code changes. Thanks! -Doug