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