diff --git a/drivers/spi/spi-rspi.c b/drivers/spi/spi-rspi.c index bec81470dd9c3dfb2ce89e3b2de2e780c83de4b9..4bc4138e002b1b430f588081c8373872b25a2572 100644 --- a/drivers/spi/spi-rspi.c +++ b/drivers/spi/spi-rspi.c @@ -625,6 +625,9 @@ static int rspi_rz_transfer_one(struct spi_master *master, rspi_rz_receive_init(rspi); + if (master->can_dma && __rspi_can_dma(rspi, xfer)) + return rspi_dma_transfer(rspi, &xfer->tx_sg, &xfer->rx_sg); + ret = rspi_pio_transfer(rspi, xfer->tx_buf, xfer->rx_buf, xfer->len); if (ret < 0) return ret;