Hi, On Tue, May 9, 2023 at 3:01 AM Vijaya Krishna Nivarthi <quic_vnivarth@xxxxxxxxxxx> wrote: > > Spi geni driver switches between FIFO and DMA modes based on xfer length. > FIFO mode relies on M_CMD_DONE_EN interrupt for completion while DMA mode > relies on XX_DMA_DONE. > During dynamic switching, if FIFO mode is chosen, FIFO related interrupts > are enabled and DMA related interrupts are disabled. And viceversa. > Chip select shares M_CMD_DONE_EN interrupt with FIFO to check completion. > Now, if a chip select operation is preceded by a DMA xfer, M_CMD_DONE_EN > interrupt would have been disabled and hence it will never receive one > resulting in timeout. > > For chip select, in addition to setting the xfer mode to FIFO, > select_mode() to FIFO so that required interrupts are enabled. > > Fixes: e5f0dfa78ac7 ("spi: spi-geni-qcom: Add support for SE DMA mode") > Suggested-by: Praveen Talari <quic_ptalari@xxxxxxxxxxx> > Signed-off-by: Vijaya Krishna Nivarthi <quic_vnivarth@xxxxxxxxxxx> > --- > drivers/spi/spi-geni-qcom.c | 2 ++ > 1 file changed, 2 insertions(+) Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx>