diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2024-05-31 22:42:33 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2024-06-10 12:48:57 +0100 |
commit | 0535cf64e4b1ead224fbbe1c25c81221a298c5e4 (patch) | |
tree | 48bc10f1f5c5bf1f9501381a9ddbbf488b90d38f /drivers/spi | |
parent | d4ea1d504d2701ba04412f98dc00d45a104c52ab (diff) |
spi: Introduce internal spi_xfer_is_dma_mapped() helper
There are few drivers that use the same pattern to check if the transfer
is DMA mapped or not. Provide a helper.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8650-QRD
Link: https://lore.kernel.org/r/20240531194723.1761567-2-andriy.shevchenko@linux.intel.com
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Reviewed-by: Serge Semin <fancer.lancer@gmail.com>
Tested-by: NĂcolas F. R. A. Prado <nfraprado@collabora.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/spi')
-rw-r--r-- | drivers/spi/internals.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/spi/internals.h b/drivers/spi/internals.h index 4a28a8395552..47a87c2a6979 100644 --- a/drivers/spi/internals.h +++ b/drivers/spi/internals.h @@ -40,4 +40,12 @@ static inline void spi_unmap_buf(struct spi_controller *ctlr, } #endif /* CONFIG_HAS_DMA */ +static inline bool spi_xfer_is_dma_mapped(struct spi_controller *ctlr, + struct spi_device *spi, + struct spi_transfer *xfer) +{ + return ctlr->can_dma && ctlr->can_dma(ctlr, spi, xfer) && + ctlr->cur_msg_mapped; +} + #endif /* __LINUX_SPI_INTERNALS_H */ |