Hi, On Mon, Apr 24, 2023 at 2:32 AM Vijaya Krishna Nivarthi <quic_vnivarth@xxxxxxxxxxx> wrote: > > Current driver supports only PIO mode. > > HW supports DMA, so add DMA mode support to the driver > for better performance for larger xfers. > > Signed-off-by: Vijaya Krishna Nivarthi <quic_vnivarth@xxxxxxxxxxx> > --- > v4 -> v5: > - dropped xfer_mode > - clear all interrupts in handle_err() > - dont log ptr value > - dropped some dev_err() > - converted some dev_err() to dev_warn_once() > - drop few redundant comments > - can_dma() disabled if iommus not present in dev_node > - other nits > > v3 -> v4: > - corrected tabs spacing > - dropped dma data descriptors > - dropped INVALID from xfer_mode enum > - qspi_buswidth_to_iomode() to return iomode without shifting > - dropped non-functional change in qcom_qspi_set_speed() > - drop redundant call to wmb() > - fallback to pio if dma fails to setup > - use dmam_pool_create() the devm version > - thus drop dma_pool_destroy() > - set dma_alignment field in probe() > - other minor changes > > v2 -> v3: > - dropped Reported-by tag > > v1 -> v2: > - modified commit message > - addressed kernel test robot error > - correct placement of header file includes > - added more comments > - coding style related changes > - renamed variables > - used u32/u8 instead of uint32_t/8_t > - removed unnecessary casting > - retain same MSTR_CONFIG as PIO for DMA > - unset fragment bit only for last cmd_desc of last xfer > --- > drivers/spi/spi-qcom-qspi.c | 218 ++++++++++++++++++++++++++++++++++++++++++-- > 1 file changed, 212 insertions(+), 6 deletions(-) Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx>