Lines Matching refs:msg

1108 static int __spi_map_msg(struct spi_controller *ctlr, struct spi_message *msg)  in __spi_map_msg()  argument
1132 list_for_each_entry(xfer, &msg->transfers, transfer_list) { in __spi_map_msg()
1136 if (!ctlr->can_dma(ctlr, msg->spi, xfer)) in __spi_map_msg()
1172 static int __spi_unmap_msg(struct spi_controller *ctlr, struct spi_message *msg) in __spi_unmap_msg() argument
1181 list_for_each_entry(xfer, &msg->transfers, transfer_list) { in __spi_unmap_msg()
1185 if (!ctlr->can_dma(ctlr, msg->spi, xfer)) in __spi_unmap_msg()
1230 struct spi_message *msg) in __spi_map_msg() argument
1236 struct spi_message *msg) in __spi_unmap_msg() argument
1253 struct spi_message *msg) in spi_unmap_msg() argument
1257 list_for_each_entry(xfer, &msg->transfers, transfer_list) { in spi_unmap_msg()
1268 return __spi_unmap_msg(ctlr, msg); in spi_unmap_msg()
1271 static int spi_map_msg(struct spi_controller *ctlr, struct spi_message *msg) in spi_map_msg() argument
1278 && !(msg->spi->mode & SPI_3WIRE)) { in spi_map_msg()
1282 list_for_each_entry(xfer, &msg->transfers, transfer_list) { in spi_map_msg()
1308 list_for_each_entry(xfer, &msg->transfers, in spi_map_msg()
1320 return __spi_map_msg(ctlr, msg); in spi_map_msg()
1324 struct spi_message *msg, in spi_transfer_wait() argument
1328 struct spi_statistics __percpu *stats = msg->spi->pcpu_statistics; in spi_transfer_wait()
1334 dev_dbg(&msg->spi->dev, "SPI transfer interrupted\n"); in spi_transfer_wait()
1364 dev_err(&msg->spi->dev, in spi_transfer_wait()
1447 static void _spi_transfer_cs_change_delay(struct spi_message *msg, in _spi_transfer_cs_change_delay() argument
1464 dev_err_once(&msg->spi->dev, in _spi_transfer_cs_change_delay()
1471 void spi_transfer_cs_change_delay_exec(struct spi_message *msg, in spi_transfer_cs_change_delay_exec() argument
1474 _spi_transfer_cs_change_delay(msg, xfer); in spi_transfer_cs_change_delay_exec()
1486 struct spi_message *msg) in spi_transfer_one_message() argument
1492 struct spi_statistics __percpu *stats = msg->spi->pcpu_statistics; in spi_transfer_one_message()
1494 xfer = list_first_entry(&msg->transfers, struct spi_transfer, transfer_list); in spi_transfer_one_message()
1495 spi_set_cs(msg->spi, !xfer->cs_off, false); in spi_transfer_one_message()
1500 list_for_each_entry(xfer, &msg->transfers, transfer_list) { in spi_transfer_one_message()
1501 trace_spi_transfer_start(msg, xfer); in spi_transfer_one_message()
1516 ret = ctlr->transfer_one(ctlr, msg->spi, xfer); in spi_transfer_one_message()
1522 __spi_unmap_msg(ctlr, msg); in spi_transfer_one_message()
1532 dev_err(&msg->spi->dev, in spi_transfer_one_message()
1538 ret = spi_transfer_wait(ctlr, msg, xfer); in spi_transfer_one_message()
1540 msg->status = ret; in spi_transfer_one_message()
1546 dev_err(&msg->spi->dev, in spi_transfer_one_message()
1556 trace_spi_transfer_stop(msg, xfer); in spi_transfer_one_message()
1558 if (msg->status != -EINPROGRESS) in spi_transfer_one_message()
1565 &msg->transfers)) { in spi_transfer_one_message()
1569 spi_set_cs(msg->spi, false, false); in spi_transfer_one_message()
1570 _spi_transfer_cs_change_delay(msg, xfer); in spi_transfer_one_message()
1572 spi_set_cs(msg->spi, true, false); in spi_transfer_one_message()
1574 } else if (!list_is_last(&xfer->transfer_list, &msg->transfers) && in spi_transfer_one_message()
1576 spi_set_cs(msg->spi, xfer->cs_off, false); in spi_transfer_one_message()
1579 msg->actual_length += xfer->len; in spi_transfer_one_message()
1584 spi_set_cs(msg->spi, false, false); in spi_transfer_one_message()
1586 if (msg->status == -EINPROGRESS) in spi_transfer_one_message()
1587 msg->status = ret; in spi_transfer_one_message()
1589 if (msg->status && ctlr->handle_err) in spi_transfer_one_message()
1590 ctlr->handle_err(ctlr, msg); in spi_transfer_one_message()
1620 struct spi_message *msg, bool was_busy) in __spi_pump_transfer_message() argument
1632 msg->status = ret; in __spi_pump_transfer_message()
1652 msg->status = ret; in __spi_pump_transfer_message()
1659 trace_spi_message_start(msg); in __spi_pump_transfer_message()
1661 ret = spi_split_transfers_maxsize(ctlr, msg, in __spi_pump_transfer_message()
1662 spi_max_transfer_size(msg->spi), in __spi_pump_transfer_message()
1665 msg->status = ret; in __spi_pump_transfer_message()
1671 ret = ctlr->prepare_message(ctlr, msg); in __spi_pump_transfer_message()
1675 msg->status = ret; in __spi_pump_transfer_message()
1679 msg->prepared = true; in __spi_pump_transfer_message()
1682 ret = spi_map_msg(ctlr, msg); in __spi_pump_transfer_message()
1684 msg->status = ret; in __spi_pump_transfer_message()
1690 list_for_each_entry(xfer, &msg->transfers, transfer_list) { in __spi_pump_transfer_message()
1714 ret = ctlr->transfer_one_message(ctlr, msg); in __spi_pump_transfer_message()
1744 struct spi_message *msg; in __spi_pump_messages() local
1799 msg = list_first_entry(&ctlr->queue, struct spi_message, queue); in __spi_pump_messages()
1800 ctlr->cur_msg = msg; in __spi_pump_messages()
1802 list_del_init(&msg->queue); in __spi_pump_messages()
1809 ret = __spi_pump_transfer_message(ctlr, msg, was_busy); in __spi_pump_messages()
2134 struct spi_message *msg, in __spi_queued_transfer() argument
2146 msg->actual_length = 0; in __spi_queued_transfer()
2147 msg->status = -EINPROGRESS; in __spi_queued_transfer()
2149 list_add_tail(&msg->queue, &ctlr->queue); in __spi_queued_transfer()
2165 static int spi_queued_transfer(struct spi_device *spi, struct spi_message *msg) in spi_queued_transfer() argument
2167 return __spi_queued_transfer(spi, msg, true); in spi_queued_transfer()
3389 struct spi_message *msg, in __spi_replace_transfers_release() argument
3397 rxfer->release(ctlr, msg, res); in __spi_replace_transfers_release()
3423 struct spi_message *msg, in spi_replace_transfers() argument
3436 rxfer = spi_res_alloc(msg->spi, __spi_replace_transfers_release, in spi_replace_transfers()
3467 if (rxfer->replaced_after->next == &msg->transfers) { in spi_replace_transfers()
3468 dev_err(&msg->spi->dev, in spi_replace_transfers()
3514 spi_res_add(msg, rxfer); in spi_replace_transfers()
3520 struct spi_message *msg, in __spi_split_transfer_maxsize() argument
3534 srt = spi_replace_transfers(msg, xfer, 1, count, NULL, 0, gfp); in __spi_split_transfer_maxsize()
3581 SPI_STATISTICS_INCREMENT_FIELD(msg->spi->pcpu_statistics, in __spi_split_transfer_maxsize()
3599 struct spi_message *msg, in spi_split_transfers_maxsize() argument
3613 list_for_each_entry(xfer, &msg->transfers, transfer_list) { in spi_split_transfers_maxsize()
3615 ret = __spi_split_transfer_maxsize(ctlr, msg, &xfer, in spi_split_transfers_maxsize()
3639 struct spi_message *msg, in spi_split_transfers_maxwords() argument
3652 list_for_each_entry(xfer, &msg->transfers, transfer_list) { in spi_split_transfers_maxwords()
3658 ret = __spi_split_transfer_maxsize(ctlr, msg, &xfer, in spi_split_transfers_maxwords()
4173 static void __spi_transfer_message_noqueue(struct spi_controller *ctlr, struct spi_message *msg) in __spi_transfer_message_noqueue() argument
4182 ctlr->cur_msg = msg; in __spi_transfer_message_noqueue()
4183 ret = __spi_pump_transfer_message(ctlr, msg, was_busy); in __spi_transfer_message_noqueue()