Lines Matching defs:tfr

91  * @tfr: SPI transfer currently processed
126 struct spi_transfer *tfr;
412 struct spi_transfer *tfr,
442 * @tfr: SPI transfer
486 struct spi_transfer *tfr,
492 bs->tfr = tfr;
497 if (bs->tx_buf && !sg_is_last(&tfr->tx_sg.sgl[0]))
498 bs->tx_prologue = sg_dma_len(&tfr->tx_sg.sgl[0]) & 3;
500 if (bs->rx_buf && !sg_is_last(&tfr->rx_sg.sgl[0])) {
501 bs->rx_prologue = sg_dma_len(&tfr->rx_sg.sgl[0]) & 3;
504 if (!bs->tx_buf || sg_is_last(&tfr->tx_sg.sgl[0])) {
509 !(sg_dma_len(&tfr->tx_sg.sgl[0]) & ~3);
531 sg_dma_address(&tfr->rx_sg.sgl[0]),
534 sg_dma_address(&tfr->rx_sg.sgl[0]) += bs->rx_prologue;
535 sg_dma_len(&tfr->rx_sg.sgl[0]) -= bs->rx_prologue;
557 sg_dma_address(&tfr->tx_sg.sgl[0]) += bs->tx_prologue;
558 sg_dma_len(&tfr->tx_sg.sgl[0]) -= bs->tx_prologue;
560 sg_dma_len(&tfr->tx_sg.sgl[0]) = 0;
561 sg_dma_address(&tfr->tx_sg.sgl[1]) += 4;
562 sg_dma_len(&tfr->tx_sg.sgl[1]) -= 4;
576 struct spi_transfer *tfr = bs->tfr;
582 sg_dma_address(&tfr->rx_sg.sgl[0]) -= bs->rx_prologue;
583 sg_dma_len(&tfr->rx_sg.sgl[0]) += bs->rx_prologue;
590 sg_dma_address(&tfr->tx_sg.sgl[0]) -= bs->tx_prologue;
591 sg_dma_len(&tfr->tx_sg.sgl[0]) += bs->tx_prologue;
593 sg_dma_len(&tfr->tx_sg.sgl[0]) = bs->tx_prologue - 4;
594 sg_dma_address(&tfr->tx_sg.sgl[1]) -= 4;
595 sg_dma_len(&tfr->tx_sg.sgl[1]) += 4;
663 * @tfr: SPI transfer
668 * Prepare and submit a DMA descriptor for the TX or RX sglist of @tfr.
672 struct spi_transfer *tfr,
689 nents = tfr->tx_sg.nents;
690 sgl = tfr->tx_sg.sgl;
691 flags = tfr->rx_buf ? 0 : DMA_PREP_INTERRUPT;
695 nents = tfr->rx_sg.nents;
696 sgl = tfr->rx_sg.sgl;
711 } else if (!tfr->rx_buf) {
726 * @tfr: SPI transfer
771 struct spi_transfer *tfr,
786 bcm2835_spi_transfer_prologue(ctlr, tfr, bs, cs);
790 ret = bcm2835_spi_prepare_sg(ctlr, tfr, bs, target, true);
816 ret = bcm2835_spi_prepare_sg(ctlr, tfr, bs, target, false);
854 struct spi_transfer *tfr)
857 if (tfr->len < BCM2835_SPI_DMA_MIN_LENGTH)
999 struct spi_transfer *tfr,
1042 tfr, cs, false);
1054 struct spi_transfer *tfr)
1063 spi_hz = tfr->speed_hz;
1077 tfr->effective_speed_hz = cdiv ? (bs->clk_hz / cdiv) : (bs->clk_hz / 65536);
1081 if (spi->mode & SPI_3WIRE && tfr->rx_buf)
1085 bs->tx_buf = tfr->tx_buf;
1086 bs->rx_buf = tfr->rx_buf;
1087 bs->tx_len = tfr->len;
1088 bs->rx_len = tfr->len;
1097 byte_limit = hz_per_byte ? tfr->effective_speed_hz / hz_per_byte : 1;
1100 if (tfr->len < byte_limit)
1101 return bcm2835_spi_transfer_one_poll(ctlr, spi, tfr, cs);
1107 if (ctlr->can_dma && bcm2835_spi_can_dma(ctlr, spi, tfr))
1108 return bcm2835_spi_transfer_one_dma(ctlr, tfr, target, cs);
1111 return bcm2835_spi_transfer_one_irq(ctlr, spi, tfr, cs, true);