Lines Matching refs:xfer
249 struct spi_transfer *xfer);
652 const struct spi_transfer *xfer) in __rspi_can_dma() argument
654 return xfer->len > rspi->ops->fifo_size; in __rspi_can_dma()
658 struct spi_transfer *xfer) in rspi_can_dma() argument
662 return __rspi_can_dma(rspi, xfer); in rspi_can_dma()
666 struct spi_transfer *xfer) in rspi_dma_check_then_transfer() argument
668 if (rspi->master->can_dma && __rspi_can_dma(rspi, xfer)) { in rspi_dma_check_then_transfer()
670 int ret = rspi_dma_transfer(rspi, &xfer->tx_sg, in rspi_dma_check_then_transfer()
671 xfer->rx_buf ? &xfer->rx_sg : NULL); in rspi_dma_check_then_transfer()
680 struct spi_transfer *xfer) in rspi_common_transfer() argument
684 ret = rspi_dma_check_then_transfer(rspi, xfer); in rspi_common_transfer()
688 ret = rspi_pio_transfer(rspi, xfer->tx_buf, xfer->rx_buf, xfer->len); in rspi_common_transfer()
699 struct spi_transfer *xfer) in rspi_transfer_one() argument
705 if (xfer->rx_buf) { in rspi_transfer_one()
713 return rspi_common_transfer(rspi, xfer); in rspi_transfer_one()
718 struct spi_transfer *xfer) in rspi_rz_transfer_one() argument
724 return rspi_common_transfer(rspi, xfer); in rspi_rz_transfer_one()
764 struct spi_transfer *xfer) in qspi_transfer_out_in() argument
770 ret = rspi_dma_check_then_transfer(rspi, xfer); in qspi_transfer_out_in()
774 ret = qspi_trigger_transfer_out_int(rspi, xfer->tx_buf, in qspi_transfer_out_in()
775 xfer->rx_buf, xfer->len); in qspi_transfer_out_in()
782 static int qspi_transfer_out(struct rspi_data *rspi, struct spi_transfer *xfer) in qspi_transfer_out() argument
786 if (rspi->master->can_dma && __rspi_can_dma(rspi, xfer)) { in qspi_transfer_out()
787 ret = rspi_dma_transfer(rspi, &xfer->tx_sg, NULL); in qspi_transfer_out()
792 ret = rspi_pio_transfer(rspi, xfer->tx_buf, NULL, xfer->len); in qspi_transfer_out()
802 static int qspi_transfer_in(struct rspi_data *rspi, struct spi_transfer *xfer) in qspi_transfer_in() argument
804 if (rspi->master->can_dma && __rspi_can_dma(rspi, xfer)) { in qspi_transfer_in()
805 int ret = rspi_dma_transfer(rspi, NULL, &xfer->rx_sg); in qspi_transfer_in()
810 return rspi_pio_transfer(rspi, NULL, xfer->rx_buf, xfer->len); in qspi_transfer_in()
814 struct spi_transfer *xfer) in qspi_transfer_one() argument
819 return qspi_transfer_out_in(rspi, xfer); in qspi_transfer_one()
820 } else if (xfer->tx_nbits > SPI_NBITS_SINGLE) { in qspi_transfer_one()
822 return qspi_transfer_out(rspi, xfer); in qspi_transfer_one()
823 } else if (xfer->rx_nbits > SPI_NBITS_SINGLE) { in qspi_transfer_one()
825 return qspi_transfer_in(rspi, xfer); in qspi_transfer_one()
828 return qspi_transfer_out_in(rspi, xfer); in qspi_transfer_one()
854 static u16 qspi_transfer_mode(const struct spi_transfer *xfer) in qspi_transfer_mode() argument
856 if (xfer->tx_buf) in qspi_transfer_mode()
857 switch (xfer->tx_nbits) { in qspi_transfer_mode()
865 if (xfer->rx_buf) in qspi_transfer_mode()
866 switch (xfer->rx_nbits) { in qspi_transfer_mode()
881 const struct spi_transfer *xfer; in qspi_setup_sequencer() local
885 list_for_each_entry(xfer, &msg->transfers, transfer_list) { in qspi_setup_sequencer()
886 mode = qspi_transfer_mode(xfer); in qspi_setup_sequencer()
888 len += xfer->len; in qspi_setup_sequencer()
907 len = xfer->len; in qspi_setup_sequencer()