Lines Matching full:transfer
84 /* Details of current transfer (length, and buffer pointers) */
86 struct spi_transfer *transfer; /* current transfer */ member
113 * Start a new transfer. This is called both by the idle state
114 * for the first transfer in a message, and by the wait state when the
115 * previous transfer in a message is complete.
119 ms->rx_buf = ms->transfer->rx_buf; in mpc52xx_spi_start_transfer()
120 ms->tx_buf = ms->transfer->tx_buf; in mpc52xx_spi_start_transfer()
121 ms->len = ms->transfer->len; in mpc52xx_spi_start_transfer()
126 ms->cs_change = ms->transfer->cs_change; in mpc52xx_spi_start_transfer()
145 * No transfers are in progress; if another transfer is pending then retrieve
159 /* Check if there is another transfer waiting. */ in mpc52xx_spi_fsmstate_idle()
198 ms->transfer = container_of(ms->message->transfers.next, in mpc52xx_spi_fsmstate_idle()
208 * TRANSFER state
210 * In the middle of a transfer. If the SPI core has completed processing
212 * (unless this transfer is finished; in which case go on to the wait
228 * transfer which is what we do here. */ in mpc52xx_spi_fsmstate_transfer()
253 /* Is the transfer complete? */ in mpc52xx_spi_fsmstate_transfer()
257 if (ms->transfer->delay.unit == SPI_DELAY_UNIT_USECS) in mpc52xx_spi_fsmstate_transfer()
258 ms->timestamp += ms->transfer->delay.value * in mpc52xx_spi_fsmstate_transfer()
277 * A transfer has completed; need to wait for the delay period to complete
278 * before starting the next transfer
290 ms->message->actual_length += ms->transfer->len; in mpc52xx_spi_fsmstate_wait()
292 /* Check if there is another transfer in this message. If there in mpc52xx_spi_fsmstate_wait()
295 if (ms->transfer->transfer_list.next == &ms->message->transfers) { in mpc52xx_spi_fsmstate_wait()
305 /* There is another transfer; kick it off */ in mpc52xx_spi_fsmstate_wait()
310 ms->transfer = container_of(ms->transfer->transfer_list.next, in mpc52xx_spi_fsmstate_wait()
430 host->transfer = mpc52xx_spi_transfer; in mpc52xx_spi_probe()