Lines Matching refs:xfer
244 struct spi_device *spi, struct spi_transfer *xfer);
681 const struct spi_transfer *xfer) in __rspi_can_dma() argument
683 return xfer->len > rspi->ops->fifo_size; in __rspi_can_dma()
687 struct spi_transfer *xfer) in rspi_can_dma() argument
691 return __rspi_can_dma(rspi, xfer); in rspi_can_dma()
695 struct spi_transfer *xfer) in rspi_dma_check_then_transfer() argument
697 if (!rspi->ctlr->can_dma || !__rspi_can_dma(rspi, xfer)) in rspi_dma_check_then_transfer()
701 return rspi_dma_transfer(rspi, &xfer->tx_sg, in rspi_dma_check_then_transfer()
702 xfer->rx_buf ? &xfer->rx_sg : NULL); in rspi_dma_check_then_transfer()
706 struct spi_transfer *xfer) in rspi_common_transfer() argument
710 xfer->effective_speed_hz = rspi->speed_hz; in rspi_common_transfer()
712 ret = rspi_dma_check_then_transfer(rspi, xfer); in rspi_common_transfer()
716 ret = rspi_pio_transfer(rspi, xfer->tx_buf, xfer->rx_buf, xfer->len); in rspi_common_transfer()
727 struct spi_device *spi, struct spi_transfer *xfer) in rspi_transfer_one() argument
733 if (xfer->rx_buf) { in rspi_transfer_one()
741 return rspi_common_transfer(rspi, xfer); in rspi_transfer_one()
746 struct spi_transfer *xfer) in rspi_rz_transfer_one() argument
752 return rspi_common_transfer(rspi, xfer); in rspi_rz_transfer_one()
787 struct spi_transfer *xfer) in qspi_transfer_out_in() argument
793 ret = rspi_dma_check_then_transfer(rspi, xfer); in qspi_transfer_out_in()
797 return qspi_trigger_transfer_out_in(rspi, xfer->tx_buf, in qspi_transfer_out_in()
798 xfer->rx_buf, xfer->len); in qspi_transfer_out_in()
801 static int qspi_transfer_out(struct rspi_data *rspi, struct spi_transfer *xfer) in qspi_transfer_out() argument
803 const u8 *tx = xfer->tx_buf; in qspi_transfer_out()
804 unsigned int n = xfer->len; in qspi_transfer_out()
808 if (rspi->ctlr->can_dma && __rspi_can_dma(rspi, xfer)) { in qspi_transfer_out()
809 ret = rspi_dma_transfer(rspi, &xfer->tx_sg, NULL); in qspi_transfer_out()
833 static int qspi_transfer_in(struct rspi_data *rspi, struct spi_transfer *xfer) in qspi_transfer_in() argument
835 u8 *rx = xfer->rx_buf; in qspi_transfer_in()
836 unsigned int n = xfer->len; in qspi_transfer_in()
840 if (rspi->ctlr->can_dma && __rspi_can_dma(rspi, xfer)) { in qspi_transfer_in()
841 int ret = rspi_dma_transfer(rspi, NULL, &xfer->rx_sg); in qspi_transfer_in()
863 struct spi_device *spi, struct spi_transfer *xfer) in qspi_transfer_one() argument
867 xfer->effective_speed_hz = rspi->speed_hz; in qspi_transfer_one()
869 return qspi_transfer_out_in(rspi, xfer); in qspi_transfer_one()
870 } else if (xfer->tx_nbits > SPI_NBITS_SINGLE) { in qspi_transfer_one()
872 return qspi_transfer_out(rspi, xfer); in qspi_transfer_one()
873 } else if (xfer->rx_nbits > SPI_NBITS_SINGLE) { in qspi_transfer_one()
875 return qspi_transfer_in(rspi, xfer); in qspi_transfer_one()
878 return qspi_transfer_out_in(rspi, xfer); in qspi_transfer_one()
882 static u16 qspi_transfer_mode(const struct spi_transfer *xfer) in qspi_transfer_mode() argument
884 if (xfer->tx_buf) in qspi_transfer_mode()
885 switch (xfer->tx_nbits) { in qspi_transfer_mode()
893 if (xfer->rx_buf) in qspi_transfer_mode()
894 switch (xfer->rx_nbits) { in qspi_transfer_mode()
909 const struct spi_transfer *xfer; in qspi_setup_sequencer() local
913 list_for_each_entry(xfer, &msg->transfers, transfer_list) { in qspi_setup_sequencer()
914 mode = qspi_transfer_mode(xfer); in qspi_setup_sequencer()
916 len += xfer->len; in qspi_setup_sequencer()
935 len = xfer->len; in qspi_setup_sequencer()
975 const struct spi_transfer *xfer; in rspi_prepare_message() local
989 list_for_each_entry(xfer, &msg->transfers, transfer_list) { in rspi_prepare_message()
990 if (xfer->speed_hz < rspi->speed_hz) in rspi_prepare_message()
991 rspi->speed_hz = xfer->speed_hz; in rspi_prepare_message()