unsigned int speed_hz;
unsigned int bits_per_word;
- unsigned int bytes_per_word;
unsigned int spi_drctl;
unsigned int count;
if (!master->dma_rx)
return false;
- bpw = transfer->bits_per_word;
-
- bpw = spi_imx_bytes_per_word(bpw);
+ bpw = spi_imx_bytes_per_word(transfer->bits_per_word);
if (bpw != 1 && bpw != 2 && bpw != 4)
return false;
return IRQ_HANDLED;
}
-static int spi_imx_dma_configure(struct spi_master *master,
- int bytes_per_word)
+static int spi_imx_dma_configure(struct spi_master *master)
{
int ret;
enum dma_slave_buswidth buswidth;
struct dma_slave_config rx = {}, tx = {};
struct spi_imx_data *spi_imx = spi_master_get_devdata(master);
- switch (bytes_per_word) {
+ switch (spi_imx_bytes_per_word(spi_imx->bits_per_word)) {
case 4:
buswidth = DMA_SLAVE_BUSWIDTH_4_BYTES;
break;
return ret;
}
- spi_imx->bytes_per_word = bytes_per_word;
-
return 0;
}
spi_imx->usedma = 0;
if (spi_imx->usedma) {
- ret = spi_imx_dma_configure(spi->master,
- spi_imx_bytes_per_word(spi_imx->bits_per_word));
+ ret = spi_imx_dma_configure(spi->master);
if (ret)
return ret;
}