Lines Matching refs:xfer

245 			    struct spi_device *spi, struct spi_transfer *xfer);
682 const struct spi_transfer *xfer) in __rspi_can_dma() argument
684 return xfer->len > rspi->ops->fifo_size; in __rspi_can_dma()
688 struct spi_transfer *xfer) in rspi_can_dma() argument
692 return __rspi_can_dma(rspi, xfer); in rspi_can_dma()
696 struct spi_transfer *xfer) in rspi_dma_check_then_transfer() argument
698 if (!rspi->ctlr->can_dma || !__rspi_can_dma(rspi, xfer)) in rspi_dma_check_then_transfer()
702 return rspi_dma_transfer(rspi, &xfer->tx_sg, in rspi_dma_check_then_transfer()
703 xfer->rx_buf ? &xfer->rx_sg : NULL); in rspi_dma_check_then_transfer()
707 struct spi_transfer *xfer) in rspi_common_transfer() argument
711 xfer->effective_speed_hz = rspi->speed_hz; in rspi_common_transfer()
713 ret = rspi_dma_check_then_transfer(rspi, xfer); in rspi_common_transfer()
717 ret = rspi_pio_transfer(rspi, xfer->tx_buf, xfer->rx_buf, xfer->len); in rspi_common_transfer()
728 struct spi_device *spi, struct spi_transfer *xfer) in rspi_transfer_one() argument
734 if (xfer->rx_buf) { in rspi_transfer_one()
742 return rspi_common_transfer(rspi, xfer); in rspi_transfer_one()
747 struct spi_transfer *xfer) in rspi_rz_transfer_one() argument
753 return rspi_common_transfer(rspi, xfer); in rspi_rz_transfer_one()
788 struct spi_transfer *xfer) in qspi_transfer_out_in() argument
794 ret = rspi_dma_check_then_transfer(rspi, xfer); in qspi_transfer_out_in()
798 return qspi_trigger_transfer_out_in(rspi, xfer->tx_buf, in qspi_transfer_out_in()
799 xfer->rx_buf, xfer->len); in qspi_transfer_out_in()
802 static int qspi_transfer_out(struct rspi_data *rspi, struct spi_transfer *xfer) in qspi_transfer_out() argument
804 const u8 *tx = xfer->tx_buf; in qspi_transfer_out()
805 unsigned int n = xfer->len; in qspi_transfer_out()
809 if (rspi->ctlr->can_dma && __rspi_can_dma(rspi, xfer)) { in qspi_transfer_out()
810 ret = rspi_dma_transfer(rspi, &xfer->tx_sg, NULL); in qspi_transfer_out()
834 static int qspi_transfer_in(struct rspi_data *rspi, struct spi_transfer *xfer) in qspi_transfer_in() argument
836 u8 *rx = xfer->rx_buf; in qspi_transfer_in()
837 unsigned int n = xfer->len; in qspi_transfer_in()
841 if (rspi->ctlr->can_dma && __rspi_can_dma(rspi, xfer)) { in qspi_transfer_in()
842 ret = rspi_dma_transfer(rspi, NULL, &xfer->rx_sg); in qspi_transfer_in()
864 struct spi_device *spi, struct spi_transfer *xfer) in qspi_transfer_one() argument
868 xfer->effective_speed_hz = rspi->speed_hz; in qspi_transfer_one()
870 return qspi_transfer_out_in(rspi, xfer); in qspi_transfer_one()
871 } else if (xfer->tx_nbits > SPI_NBITS_SINGLE) { in qspi_transfer_one()
873 return qspi_transfer_out(rspi, xfer); in qspi_transfer_one()
874 } else if (xfer->rx_nbits > SPI_NBITS_SINGLE) { in qspi_transfer_one()
876 return qspi_transfer_in(rspi, xfer); in qspi_transfer_one()
879 return qspi_transfer_out_in(rspi, xfer); in qspi_transfer_one()
883 static u16 qspi_transfer_mode(const struct spi_transfer *xfer) in qspi_transfer_mode() argument
885 if (xfer->tx_buf) in qspi_transfer_mode()
886 switch (xfer->tx_nbits) { in qspi_transfer_mode()
894 if (xfer->rx_buf) in qspi_transfer_mode()
895 switch (xfer->rx_nbits) { in qspi_transfer_mode()
910 const struct spi_transfer *xfer; in qspi_setup_sequencer() local
914 list_for_each_entry(xfer, &msg->transfers, transfer_list) { in qspi_setup_sequencer()
915 mode = qspi_transfer_mode(xfer); in qspi_setup_sequencer()
917 len += xfer->len; in qspi_setup_sequencer()
936 len = xfer->len; in qspi_setup_sequencer()
976 const struct spi_transfer *xfer; in rspi_prepare_message() local
990 list_for_each_entry(xfer, &msg->transfers, transfer_list) { in rspi_prepare_message()
991 if (xfer->speed_hz < rspi->speed_hz) in rspi_prepare_message()
992 rspi->speed_hz = xfer->speed_hz; in rspi_prepare_message()