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

Commit c008a800 authored by Sascha Hauer's avatar Sascha Hauer Committed by Mark Brown
Browse files

spi: imx: initialize usedma earlier



The SoC specific config function does not know if DMA will be used or
not. This information will be useful to configure the SPI controller
correctly for DMA in following patches, so initialize the usedma
variable before calling into the SoC specific config function.

Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 99f1cf1c
Loading
Loading
Loading
Loading
+8 −7
Original line number Original line Diff line number Diff line
@@ -815,6 +815,11 @@ static int spi_imx_setupxfer(struct spi_device *spi,
		spi_imx->tx = spi_imx_buf_tx_u32;
		spi_imx->tx = spi_imx_buf_tx_u32;
	}
	}


	if (spi_imx_can_dma(spi_imx->bitbang.master, spi, t))
		spi_imx->usedma = 1;
	else
		spi_imx->usedma = 0;

	spi_imx->devtype_data->config(spi_imx, &config);
	spi_imx->devtype_data->config(spi_imx, &config);


	return 0;
	return 0;
@@ -1040,13 +1045,9 @@ static int spi_imx_transfer(struct spi_device *spi,
{
{
	struct spi_imx_data *spi_imx = spi_master_get_devdata(spi->master);
	struct spi_imx_data *spi_imx = spi_master_get_devdata(spi->master);


	if (spi_imx->bitbang.master->can_dma &&
	if (spi_imx->usedma)
	    spi_imx_can_dma(spi_imx->bitbang.master, spi, transfer)) {
		spi_imx->usedma = true;
		return spi_imx_dma_transfer(spi_imx, transfer);
		return spi_imx_dma_transfer(spi_imx, transfer);
	}
	else
	spi_imx->usedma = false;

		return spi_imx_pio_transfer(spi, transfer);
		return spi_imx_pio_transfer(spi, transfer);
}
}