Lines Matching refs:xfer

90 	/** @tx_xfer: Next xfer with tx_buf not yet fully written to TX FIFO. */
96 /** @rx_xfer: Next xfer with rx_buf not yet fully written to RX FIFO. */
140 struct spi_transfer *xfer)
144 if (xfer->bits_per_word <= 8)
145 len = xfer->len;
146 else if (xfer->bits_per_word <= 16)
147 len = xfer->len / 2;
149 len = xfer->len / 4;
155 if (xfer->tx_buf)
157 if (xfer->rx_buf)
209 struct spi_transfer *xfer;
211 list_for_each_entry(xfer, &msg->transfers, transfer_list) {
212 clk_div = DIV_ROUND_UP(max_hz, xfer->speed_hz);
213 xfer->effective_speed_hz = max_hz / min(clk_div, 256U);
222 struct spi_transfer *xfer;
233 xfer = list_first_entry(&msg->transfers, struct spi_transfer, transfer_list);
234 spi_engine_gen_cs(p, dry, spi, !xfer->cs_off);
236 list_for_each_entry(xfer, &msg->transfers, transfer_list) {
237 new_clk_div = host->max_speed_hz / xfer->effective_speed_hz;
246 if (bits_per_word != xfer->bits_per_word) {
247 bits_per_word = xfer->bits_per_word;
253 spi_engine_gen_xfer(p, dry, xfer);
254 spi_engine_gen_sleep(p, dry, spi_delay_to_ns(&xfer->delay, xfer),
255 xfer->effective_speed_hz);
257 if (xfer->cs_change) {
258 if (list_is_last(&xfer->transfer_list, &msg->transfers)) {
261 if (!xfer->cs_off)
265 &xfer->cs_change_delay, xfer),
266 xfer->effective_speed_hz);
268 if (!list_next_entry(xfer, transfer_list)->cs_off)
271 } else if (!list_is_last(&xfer->transfer_list, &msg->transfers) &&
272 xfer->cs_off != list_next_entry(xfer, transfer_list)->cs_off) {
273 spi_engine_gen_cs(p, dry, spi, xfer->cs_off);
292 struct spi_transfer *xfer = *_xfer;
294 if (!xfer) {
295 xfer = list_first_entry(&msg->transfers,
297 } else if (list_is_last(&xfer->transfer_list, &msg->transfers)) {
298 xfer = NULL;
300 xfer = list_next_entry(xfer, transfer_list);
303 *_xfer = xfer;
309 struct spi_transfer *xfer = st->tx_xfer;
312 spi_engine_xfer_next(msg, &xfer);
313 } while (xfer && !xfer->tx_buf);
315 st->tx_xfer = xfer;
316 if (xfer) {
317 st->tx_length = xfer->len;
318 st->tx_buf = xfer->tx_buf;
327 struct spi_transfer *xfer = st->rx_xfer;
330 spi_engine_xfer_next(msg, &xfer);
331 } while (xfer && !xfer->rx_buf);
333 st->rx_xfer = xfer;
334 if (xfer) {
335 st->rx_length = xfer->len;
336 st->rx_buf = xfer->rx_buf;