diff options
| author | Jonathan Marek <jonathan@marek.ca> | 2025-11-20 16:12:00 -0500 |
|---|---|---|
| committer | Sasha Levin <sashal@kernel.org> | 2026-03-04 07:20:37 -0500 |
| commit | b2a97f2259f6e3fcb03b44cca8cede46f23c9432 (patch) | |
| tree | 84180e94f758b7ef3b1f2dd499b8e13c9ed3f49a /drivers/spi | |
| parent | 5d0814ad66547ff654afa148690e5bbec3aa3c56 (diff) | |
| download | linux-b2a97f2259f6e3fcb03b44cca8cede46f23c9432.tar.gz linux-b2a97f2259f6e3fcb03b44cca8cede46f23c9432.tar.bz2 linux-b2a97f2259f6e3fcb03b44cca8cede46f23c9432.zip | |
spi-geni-qcom: use xfer->bits_per_word for can_dma()
[ Upstream commit fb2bbe3838728f572485706677590e4fc41eec5c ]
mas->cur_bits_per_word may not reflect the value of xfer->bits_per_word
when can_dma() is called. Use the right value instead.
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Link: https://patch.msgid.link/20251120211204.24078-3-jonathan@marek.ca
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/spi')
| -rw-r--r-- | drivers/spi/spi-geni-qcom.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/spi/spi-geni-qcom.c b/drivers/spi/spi-geni-qcom.c index f163d724b43f..37a20652fd2e 100644 --- a/drivers/spi/spi-geni-qcom.c +++ b/drivers/spi/spi-geni-qcom.c @@ -548,10 +548,10 @@ static u32 get_xfer_len_in_words(struct spi_transfer *xfer, { u32 len; - if (!(mas->cur_bits_per_word % MIN_WORD_LEN)) - len = xfer->len * BITS_PER_BYTE / mas->cur_bits_per_word; + if (!(xfer->bits_per_word % MIN_WORD_LEN)) + len = xfer->len * BITS_PER_BYTE / xfer->bits_per_word; else - len = xfer->len / (mas->cur_bits_per_word / BITS_PER_BYTE + 1); + len = xfer->len / (xfer->bits_per_word / BITS_PER_BYTE + 1); len &= TRANS_LEN_MSK; return len; @@ -571,7 +571,7 @@ static bool geni_can_dma(struct spi_controller *ctlr, return true; len = get_xfer_len_in_words(xfer, mas); - fifo_size = mas->tx_fifo_depth * mas->fifo_width_bits / mas->cur_bits_per_word; + fifo_size = mas->tx_fifo_depth * mas->fifo_width_bits / xfer->bits_per_word; if (len > fifo_size) return true; |
