Lines Matching refs:xfer

249 			    struct spi_transfer *xfer);
653 const struct spi_transfer *xfer) in __rspi_can_dma() argument
655 return xfer->len > rspi->ops->fifo_size; in __rspi_can_dma()
659 struct spi_transfer *xfer) in rspi_can_dma() argument
663 return __rspi_can_dma(rspi, xfer); in rspi_can_dma()
667 struct spi_transfer *xfer) in rspi_dma_check_then_transfer() argument
669 if (!rspi->master->can_dma || !__rspi_can_dma(rspi, xfer)) in rspi_dma_check_then_transfer()
673 return rspi_dma_transfer(rspi, &xfer->tx_sg, in rspi_dma_check_then_transfer()
674 xfer->rx_buf ? &xfer->rx_sg : NULL); in rspi_dma_check_then_transfer()
678 struct spi_transfer *xfer) in rspi_common_transfer() argument
682 ret = rspi_dma_check_then_transfer(rspi, xfer); in rspi_common_transfer()
686 ret = rspi_pio_transfer(rspi, xfer->tx_buf, xfer->rx_buf, xfer->len); in rspi_common_transfer()
697 struct spi_transfer *xfer) in rspi_transfer_one() argument
703 if (xfer->rx_buf) { in rspi_transfer_one()
711 return rspi_common_transfer(rspi, xfer); in rspi_transfer_one()
716 struct spi_transfer *xfer) in rspi_rz_transfer_one() argument
722 return rspi_common_transfer(rspi, xfer); in rspi_rz_transfer_one()
762 struct spi_transfer *xfer) in qspi_transfer_out_in() argument
768 ret = rspi_dma_check_then_transfer(rspi, xfer); in qspi_transfer_out_in()
772 return qspi_trigger_transfer_out_in(rspi, xfer->tx_buf, in qspi_transfer_out_in()
773 xfer->rx_buf, xfer->len); in qspi_transfer_out_in()
776 static int qspi_transfer_out(struct rspi_data *rspi, struct spi_transfer *xfer) in qspi_transfer_out() argument
780 if (rspi->master->can_dma && __rspi_can_dma(rspi, xfer)) { in qspi_transfer_out()
781 ret = rspi_dma_transfer(rspi, &xfer->tx_sg, NULL); in qspi_transfer_out()
786 ret = rspi_pio_transfer(rspi, xfer->tx_buf, NULL, xfer->len); in qspi_transfer_out()
796 static int qspi_transfer_in(struct rspi_data *rspi, struct spi_transfer *xfer) in qspi_transfer_in() argument
798 if (rspi->master->can_dma && __rspi_can_dma(rspi, xfer)) { in qspi_transfer_in()
799 int ret = rspi_dma_transfer(rspi, NULL, &xfer->rx_sg); in qspi_transfer_in()
804 return rspi_pio_transfer(rspi, NULL, xfer->rx_buf, xfer->len); in qspi_transfer_in()
808 struct spi_transfer *xfer) in qspi_transfer_one() argument
813 return qspi_transfer_out_in(rspi, xfer); in qspi_transfer_one()
814 } else if (xfer->tx_nbits > SPI_NBITS_SINGLE) { in qspi_transfer_one()
816 return qspi_transfer_out(rspi, xfer); in qspi_transfer_one()
817 } else if (xfer->rx_nbits > SPI_NBITS_SINGLE) { in qspi_transfer_one()
819 return qspi_transfer_in(rspi, xfer); in qspi_transfer_one()
822 return qspi_transfer_out_in(rspi, xfer); in qspi_transfer_one()
848 static u16 qspi_transfer_mode(const struct spi_transfer *xfer) in qspi_transfer_mode() argument
850 if (xfer->tx_buf) in qspi_transfer_mode()
851 switch (xfer->tx_nbits) { in qspi_transfer_mode()
859 if (xfer->rx_buf) in qspi_transfer_mode()
860 switch (xfer->rx_nbits) { in qspi_transfer_mode()
875 const struct spi_transfer *xfer; in qspi_setup_sequencer() local
879 list_for_each_entry(xfer, &msg->transfers, transfer_list) { in qspi_setup_sequencer()
880 mode = qspi_transfer_mode(xfer); in qspi_setup_sequencer()
882 len += xfer->len; in qspi_setup_sequencer()
901 len = xfer->len; in qspi_setup_sequencer()