Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2bca3445 authored by Vignesh R's avatar Vignesh R Committed by Mark Brown
Browse files

spi: Add can_dma like interface for spi_flash_read



Add an interface analogous to ->can_dma() for spi_flash_read()
interface. This will enable SPI controller drivers to inform SPI core
when not to do DMA mappings.

Signed-off-by: default avatarVignesh R <vigneshr@ti.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent cb3c8e5a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2811,7 +2811,7 @@ int spi_flash_read(struct spi_device *spi,

	mutex_lock(&master->bus_lock_mutex);
	mutex_lock(&master->io_mutex);
	if (master->dma_rx) {
	if (master->dma_rx && master->spi_flash_can_dma(spi, msg)) {
		rx_dev = master->dma_rx->device->dev;
		ret = spi_map_buf(master, rx_dev, &msg->rx_sg,
				  msg->buf, msg->len,
+4 −0
Original line number Diff line number Diff line
@@ -375,6 +375,8 @@ static inline void spi_unregister_driver(struct spi_driver *sdrv)
 * @unprepare_message: undo any work done by prepare_message().
 * @spi_flash_read: to support spi-controller hardwares that provide
 *                  accelerated interface to read from flash devices.
 * @spi_flash_can_dma: analogous to can_dma() interface, but for
 *		       controllers implementing spi_flash_read.
 * @flash_read_supported: spi device supports flash read
 * @cs_gpios: Array of GPIOs to use as chip select lines; one per CS
 *	number. Any individual value may be -ENOENT for CS lines that
@@ -538,6 +540,8 @@ struct spi_master {
				 struct spi_message *message);
	int (*spi_flash_read)(struct  spi_device *spi,
			      struct spi_flash_read_message *msg);
	bool (*spi_flash_can_dma)(struct spi_device *spi,
				  struct spi_flash_read_message *msg);
	bool (*flash_read_supported)(struct spi_device *spi);

	/*