Lines Matching full:transfer
80 /* Details of current transfer (length, and buffer pointers) */
82 struct spi_transfer *transfer; /* current transfer */ member
108 * Start a new transfer. This is called both by the idle state
109 * for the first transfer in a message, and by the wait state when the
110 * previous transfer in a message is complete.
114 ms->rx_buf = ms->transfer->rx_buf; in mpc52xx_spi_start_transfer()
115 ms->tx_buf = ms->transfer->tx_buf; in mpc52xx_spi_start_transfer()
116 ms->len = ms->transfer->len; in mpc52xx_spi_start_transfer()
121 ms->cs_change = ms->transfer->cs_change; in mpc52xx_spi_start_transfer()
140 * No transfers are in progress; if another transfer is pending then retrieve
154 /* Check if there is another transfer waiting. */ in mpc52xx_spi_fsmstate_idle()
193 ms->transfer = container_of(ms->message->transfers.next, in mpc52xx_spi_fsmstate_idle()
203 * TRANSFER state
205 * In the middle of a transfer. If the SPI core has completed processing
207 * (unless this transfer is finished; in which case go on to the wait
223 * transfer which is what we do here. */ in mpc52xx_spi_fsmstate_transfer()
248 /* Is the transfer complete? */ in mpc52xx_spi_fsmstate_transfer()
252 ms->timestamp += ms->transfer->delay_usecs * tb_ticks_per_usec; in mpc52xx_spi_fsmstate_transfer()
270 * A transfer has completed; need to wait for the delay period to complete
271 * before starting the next transfer
283 ms->message->actual_length += ms->transfer->len; in mpc52xx_spi_fsmstate_wait()
285 /* Check if there is another transfer in this message. If there in mpc52xx_spi_fsmstate_wait()
288 if (ms->transfer->transfer_list.next == &ms->message->transfers) { in mpc52xx_spi_fsmstate_wait()
298 /* There is another transfer; kick it off */ in mpc52xx_spi_fsmstate_wait()
303 ms->transfer = container_of(ms->transfer->transfer_list.next, in mpc52xx_spi_fsmstate_wait()
423 master->transfer = mpc52xx_spi_transfer; in mpc52xx_spi_probe()