Lines Matching full:transfer
83 /* Details of current transfer (length, and buffer pointers) */
85 struct spi_transfer *transfer; /* current transfer */ member
112 * Start a new transfer. This is called both by the idle state
113 * for the first transfer in a message, and by the wait state when the
114 * previous transfer in a message is complete.
118 ms->rx_buf = ms->transfer->rx_buf; in mpc52xx_spi_start_transfer()
119 ms->tx_buf = ms->transfer->tx_buf; in mpc52xx_spi_start_transfer()
120 ms->len = ms->transfer->len; in mpc52xx_spi_start_transfer()
125 ms->cs_change = ms->transfer->cs_change; in mpc52xx_spi_start_transfer()
144 * No transfers are in progress; if another transfer is pending then retrieve
158 /* Check if there is another transfer waiting. */ in mpc52xx_spi_fsmstate_idle()
197 ms->transfer = container_of(ms->message->transfers.next, in mpc52xx_spi_fsmstate_idle()
207 * TRANSFER state
209 * In the middle of a transfer. If the SPI core has completed processing
211 * (unless this transfer is finished; in which case go on to the wait
227 * transfer which is what we do here. */ in mpc52xx_spi_fsmstate_transfer()
252 /* Is the transfer complete? */ in mpc52xx_spi_fsmstate_transfer()
256 if (ms->transfer->delay.unit == SPI_DELAY_UNIT_USECS) in mpc52xx_spi_fsmstate_transfer()
257 ms->timestamp += ms->transfer->delay.value * in mpc52xx_spi_fsmstate_transfer()
276 * A transfer has completed; need to wait for the delay period to complete
277 * before starting the next transfer
289 ms->message->actual_length += ms->transfer->len; in mpc52xx_spi_fsmstate_wait()
291 /* Check if there is another transfer in this message. If there in mpc52xx_spi_fsmstate_wait()
294 if (ms->transfer->transfer_list.next == &ms->message->transfers) { in mpc52xx_spi_fsmstate_wait()
304 /* There is another transfer; kick it off */ in mpc52xx_spi_fsmstate_wait()
309 ms->transfer = container_of(ms->transfer->transfer_list.next, in mpc52xx_spi_fsmstate_wait()
429 master->transfer = mpc52xx_spi_transfer; in mpc52xx_spi_probe()