Lines Matching refs:xfer

151 	struct spi_transfer *xfer)  in spi_engine_gen_xfer()  argument
155 if (xfer->bits_per_word <= 8) in spi_engine_gen_xfer()
156 len = xfer->len; in spi_engine_gen_xfer()
157 else if (xfer->bits_per_word <= 16) in spi_engine_gen_xfer()
158 len = xfer->len / 2; in spi_engine_gen_xfer()
160 len = xfer->len / 4; in spi_engine_gen_xfer()
166 if (xfer->tx_buf) in spi_engine_gen_xfer()
168 if (xfer->rx_buf) in spi_engine_gen_xfer()
224 struct spi_transfer *xfer; in spi_engine_precompile_message() local
226 list_for_each_entry(xfer, &msg->transfers, transfer_list) { in spi_engine_precompile_message()
227 clk_div = DIV_ROUND_UP(max_hz, xfer->speed_hz); in spi_engine_precompile_message()
228 xfer->effective_speed_hz = max_hz / min(clk_div, 256U); in spi_engine_precompile_message()
237 struct spi_transfer *xfer; in spi_engine_compile_message() local
254 xfer = list_first_entry(&msg->transfers, struct spi_transfer, transfer_list); in spi_engine_compile_message()
255 spi_engine_gen_cs(p, dry, spi, !xfer->cs_off); in spi_engine_compile_message()
257 list_for_each_entry(xfer, &msg->transfers, transfer_list) { in spi_engine_compile_message()
258 new_clk_div = host->max_speed_hz / xfer->effective_speed_hz; in spi_engine_compile_message()
267 if (bits_per_word != xfer->bits_per_word && xfer->len) { in spi_engine_compile_message()
268 bits_per_word = xfer->bits_per_word; in spi_engine_compile_message()
274 spi_engine_gen_xfer(p, dry, xfer); in spi_engine_compile_message()
275 spi_engine_gen_sleep(p, dry, spi_delay_to_ns(&xfer->delay, xfer), in spi_engine_compile_message()
276 inst_ns, xfer->effective_speed_hz); in spi_engine_compile_message()
278 if (xfer->cs_change) { in spi_engine_compile_message()
279 if (list_is_last(&xfer->transfer_list, &msg->transfers)) { in spi_engine_compile_message()
282 if (!xfer->cs_off) in spi_engine_compile_message()
286 &xfer->cs_change_delay, xfer), inst_ns, in spi_engine_compile_message()
287 xfer->effective_speed_hz); in spi_engine_compile_message()
289 if (!list_next_entry(xfer, transfer_list)->cs_off) in spi_engine_compile_message()
292 } else if (!list_is_last(&xfer->transfer_list, &msg->transfers) && in spi_engine_compile_message()
293 xfer->cs_off != list_next_entry(xfer, transfer_list)->cs_off) { in spi_engine_compile_message()
294 spi_engine_gen_cs(p, dry, spi, xfer->cs_off); in spi_engine_compile_message()
313 struct spi_transfer *xfer = *_xfer; in spi_engine_xfer_next() local
315 if (!xfer) { in spi_engine_xfer_next()
316 xfer = list_first_entry(&msg->transfers, in spi_engine_xfer_next()
318 } else if (list_is_last(&xfer->transfer_list, &msg->transfers)) { in spi_engine_xfer_next()
319 xfer = NULL; in spi_engine_xfer_next()
321 xfer = list_next_entry(xfer, transfer_list); in spi_engine_xfer_next()
324 *_xfer = xfer; in spi_engine_xfer_next()
330 struct spi_transfer *xfer = st->tx_xfer; in spi_engine_tx_next() local
333 spi_engine_xfer_next(msg, &xfer); in spi_engine_tx_next()
334 } while (xfer && !xfer->tx_buf); in spi_engine_tx_next()
336 st->tx_xfer = xfer; in spi_engine_tx_next()
337 if (xfer) { in spi_engine_tx_next()
338 st->tx_length = xfer->len; in spi_engine_tx_next()
339 st->tx_buf = xfer->tx_buf; in spi_engine_tx_next()
348 struct spi_transfer *xfer = st->rx_xfer; in spi_engine_rx_next() local
351 spi_engine_xfer_next(msg, &xfer); in spi_engine_rx_next()
352 } while (xfer && !xfer->rx_buf); in spi_engine_rx_next()
354 st->rx_xfer = xfer; in spi_engine_rx_next()
355 if (xfer) { in spi_engine_rx_next()
356 st->rx_length = xfer->len; in spi_engine_rx_next()
357 st->rx_buf = xfer->rx_buf; in spi_engine_rx_next()
595 struct spi_transfer *xfer; in spi_engine_transfer_one_message() local
597 list_for_each_entry(xfer, &msg->transfers, transfer_list) in spi_engine_transfer_one_message()
598 trace_spi_transfer_start(msg, xfer); in spi_engine_transfer_one_message()
629 struct spi_transfer *xfer; in spi_engine_transfer_one_message() local
631 list_for_each_entry(xfer, &msg->transfers, transfer_list) in spi_engine_transfer_one_message()
632 trace_spi_transfer_stop(msg, xfer); in spi_engine_transfer_one_message()