Lines Matching refs:xfer

246 			   struct spi_device *spi, struct spi_transfer *xfer)  in dw_spi_can_dma()  argument
251 if (xfer->len <= dws->fifo_len) in dw_spi_can_dma()
288 struct spi_transfer *xfer) in dw_spi_dma_wait_tx_done() argument
299 spi_delay_exec(&delay, xfer); in dw_spi_dma_wait_tx_done()
468 static int dw_spi_dma_setup(struct dw_spi *dws, struct spi_transfer *xfer) in dw_spi_dma_setup() argument
473 if (!xfer->tx_buf) in dw_spi_dma_setup()
481 if (xfer->rx_buf) { in dw_spi_dma_setup()
489 if (xfer->rx_buf) in dw_spi_dma_setup()
495 if (xfer->rx_buf) in dw_spi_dma_setup()
507 struct spi_transfer *xfer) in dw_spi_dma_transfer_all() argument
512 ret = dw_spi_dma_submit_tx(dws, xfer->tx_sg.sgl, xfer->tx_sg.nents); in dw_spi_dma_transfer_all()
517 if (xfer->rx_buf) { in dw_spi_dma_transfer_all()
518 ret = dw_spi_dma_submit_rx(dws, xfer->rx_sg.sgl, in dw_spi_dma_transfer_all()
519 xfer->rx_sg.nents); in dw_spi_dma_transfer_all()
529 ret = dw_spi_dma_wait(dws, xfer->len, xfer->effective_speed_hz); in dw_spi_dma_transfer_all()
570 struct spi_transfer *xfer) in dw_spi_dma_transfer_one() argument
580 for (base = 0, len = 0; base < xfer->len; base += len) { in dw_spi_dma_transfer_one()
583 tx_sg = !tx_sg ? &xfer->tx_sg.sgl[0] : sg_next(tx_sg); in dw_spi_dma_transfer_one()
590 rx_sg = !rx_sg ? &xfer->rx_sg.sgl[0] : sg_next(rx_sg); in dw_spi_dma_transfer_one()
621 ret = dw_spi_dma_wait(dws, len, xfer->effective_speed_hz); in dw_spi_dma_transfer_one()
638 static int dw_spi_dma_transfer(struct dw_spi *dws, struct spi_transfer *xfer) in dw_spi_dma_transfer() argument
643 nents = max(xfer->tx_sg.nents, xfer->rx_sg.nents); in dw_spi_dma_transfer()
652 if (!dws->dma_sg_burst || !xfer->rx_buf || nents <= dws->dma_sg_burst) in dw_spi_dma_transfer()
653 ret = dw_spi_dma_transfer_all(dws, xfer); in dw_spi_dma_transfer()
655 ret = dw_spi_dma_transfer_one(dws, xfer); in dw_spi_dma_transfer()
660 ret = dw_spi_dma_wait_tx_done(dws, xfer); in dw_spi_dma_transfer()
665 if (xfer->rx_buf && dws->host->cur_msg->status == -EINPROGRESS) in dw_spi_dma_transfer()