mirror of
https://github.com/torvalds/linux.git
synced 2026-05-26 08:02:27 +02:00
spi-geni-qcom: use xfer->bits_per_word for can_dma()
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>
This commit is contained in:
parent
7ba2e0edb1
commit
fb2bbe3838
|
|
@ -499,10 +499,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;
|
||||
|
|
@ -522,7 +522,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;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user