Commit eea7142b authored by Vijaya Krishna Nivarthi's avatar Vijaya Krishna Nivarthi Committed by Praveen Talari
Browse files

UPSTREAM: spi: spi-geni-qcom: Select FIFO mode for chip select



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: e5f0dfa7 ("spi: spi-geni-qcom: Add support for SE DMA mode")
Suggested-by: default avatarPraveen Talari <quic_ptalari@quicinc.com>
Signed-off-by: default avatarVijaya Krishna Nivarthi <quic_vnivarth@quicinc.com>
Reviewed-by: default avatarDouglas Anderson <dianders@chromium.org>
Link: https://lore.kernel.org/r/1683626496-9685-1-git-send-email-quic_vnivarth@quicinc.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>

Bug: 370629635
Bug: 375550406
Change-Id: Icd72416f413abc7fd67ac69c1a56251d9b2b4149
(cherry picked from commit 4c329f5d)
Signed-off-by: default avatarPraveen Talari <quic_ptalari@quicinc.com>
(cherry picked from commit cdb0b6d18806e8183e8ff3239ed803e89522ea32)
parent 0f7448f0
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment