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