Lines Matching refs:xfer

190 			   struct spi_device *spi, struct spi_transfer *xfer)  in dw_spi_can_dma()  argument
194 return xfer->len > dws->fifo_len; in dw_spi_can_dma()
236 struct spi_transfer *xfer) in dw_spi_dma_wait_tx_done() argument
247 spi_delay_exec(&delay, xfer); in dw_spi_dma_wait_tx_done()
416 static int dw_spi_dma_setup(struct dw_spi *dws, struct spi_transfer *xfer) in dw_spi_dma_setup() argument
421 if (!xfer->tx_buf) in dw_spi_dma_setup()
429 if (xfer->rx_buf) { in dw_spi_dma_setup()
437 if (xfer->rx_buf) in dw_spi_dma_setup()
443 if (xfer->rx_buf) in dw_spi_dma_setup()
455 struct spi_transfer *xfer) in dw_spi_dma_transfer_all() argument
460 ret = dw_spi_dma_submit_tx(dws, xfer->tx_sg.sgl, xfer->tx_sg.nents); in dw_spi_dma_transfer_all()
465 if (xfer->rx_buf) { in dw_spi_dma_transfer_all()
466 ret = dw_spi_dma_submit_rx(dws, xfer->rx_sg.sgl, in dw_spi_dma_transfer_all()
467 xfer->rx_sg.nents); in dw_spi_dma_transfer_all()
477 ret = dw_spi_dma_wait(dws, xfer->len, xfer->effective_speed_hz); in dw_spi_dma_transfer_all()
518 struct spi_transfer *xfer) in dw_spi_dma_transfer_one() argument
528 for (base = 0, len = 0; base < xfer->len; base += len) { in dw_spi_dma_transfer_one()
531 tx_sg = !tx_sg ? &xfer->tx_sg.sgl[0] : sg_next(tx_sg); in dw_spi_dma_transfer_one()
538 rx_sg = !rx_sg ? &xfer->rx_sg.sgl[0] : sg_next(rx_sg); in dw_spi_dma_transfer_one()
569 ret = dw_spi_dma_wait(dws, len, xfer->effective_speed_hz); in dw_spi_dma_transfer_one()
586 static int dw_spi_dma_transfer(struct dw_spi *dws, struct spi_transfer *xfer) in dw_spi_dma_transfer() argument
591 nents = max(xfer->tx_sg.nents, xfer->rx_sg.nents); in dw_spi_dma_transfer()
600 if (!dws->dma_sg_burst || !xfer->rx_buf || nents <= dws->dma_sg_burst) in dw_spi_dma_transfer()
601 ret = dw_spi_dma_transfer_all(dws, xfer); in dw_spi_dma_transfer()
603 ret = dw_spi_dma_transfer_one(dws, xfer); in dw_spi_dma_transfer()
608 ret = dw_spi_dma_wait_tx_done(dws, xfer); in dw_spi_dma_transfer()
613 if (xfer->rx_buf && dws->master->cur_msg->status == -EINPROGRESS) in dw_spi_dma_transfer()