|
15 | 15 | #include <linux/overflow.h>
|
16 | 16 | #include <linux/platform_device.h>
|
17 | 17 | #include <linux/spi/spi.h>
|
| 18 | +#include <trace/events/spi.h> |
18 | 19 |
|
19 | 20 | #define SPI_ENGINE_REG_RESET 0x40
|
20 | 21 |
|
@@ -590,6 +591,13 @@ static int spi_engine_transfer_one_message(struct spi_controller *host,
|
590 | 591 |
|
591 | 592 | reinit_completion(&spi_engine->msg_complete);
|
592 | 593 |
|
| 594 | + if (trace_spi_transfer_start_enabled()) { |
| 595 | + struct spi_transfer *xfer; |
| 596 | + |
| 597 | + list_for_each_entry(xfer, &msg->transfers, transfer_list) |
| 598 | + trace_spi_transfer_start(msg, xfer); |
| 599 | + } |
| 600 | + |
593 | 601 | spin_lock_irqsave(&spi_engine->lock, flags);
|
594 | 602 |
|
595 | 603 | if (spi_engine_write_cmd_fifo(spi_engine, msg))
|
@@ -617,6 +625,13 @@ static int spi_engine_transfer_one_message(struct spi_controller *host,
|
617 | 625 | msg->status = -ETIMEDOUT;
|
618 | 626 | }
|
619 | 627 |
|
| 628 | + if (trace_spi_transfer_stop_enabled()) { |
| 629 | + struct spi_transfer *xfer; |
| 630 | + |
| 631 | + list_for_each_entry(xfer, &msg->transfers, transfer_list) |
| 632 | + trace_spi_transfer_stop(msg, xfer); |
| 633 | + } |
| 634 | + |
620 | 635 | spi_finalize_current_message(host);
|
621 | 636 |
|
622 | 637 | return msg->status;
|
|
0 commit comments