diff options
author | Jeremy Kerr <jk@ozlabs.org> | 2017-06-06 23:08:55 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-06-09 11:52:09 +0200 |
commit | 1247cf7ab876b6f1da7028bff64b3d89130dd8e3 (patch) | |
tree | 5a3a2b78b273ba270180a7ec77b80bd3e1d7647a /drivers/fsi | |
parent | drivers/fsi: Add GPIO based FSI master (diff) | |
download | linux-1247cf7ab876b6f1da7028bff64b3d89130dd8e3.tar.xz linux-1247cf7ab876b6f1da7028bff64b3d89130dd8e3.zip |
drivers/fsi/gpio: Add tracepoints for GPIO master
Trace low level input/output GPIO operations.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Christopher Bostic <cbostic@linux.vnet.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/fsi')
-rw-r--r-- | drivers/fsi/fsi-master-gpio.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/fsi/fsi-master-gpio.c b/drivers/fsi/fsi-master-gpio.c index d467e61065a9..a5d6e705b3c5 100644 --- a/drivers/fsi/fsi-master-gpio.c +++ b/drivers/fsi/fsi-master-gpio.c @@ -61,6 +61,9 @@ struct fsi_master_gpio { struct gpio_desc *gpio_mux; /* Mux control */ }; +#define CREATE_TRACE_POINTS +#include <trace/events/fsi_master_gpio.h> + #define to_fsi_master_gpio(m) container_of(m, struct fsi_master_gpio, master) struct fsi_gpio_msg { @@ -126,6 +129,8 @@ static void serial_in(struct fsi_master_gpio *master, struct fsi_gpio_msg *msg, msg->msg |= ~in_bit & 0x1; /* Data is active low */ } msg->bits += num_bits; + + trace_fsi_master_gpio_in(master, num_bits, msg->msg); } static void serial_out(struct fsi_master_gpio *master, @@ -137,6 +142,8 @@ static void serial_out(struct fsi_master_gpio *master, uint64_t last_bit = ~0; int next_bit; + trace_fsi_master_gpio_out(master, cmd->bits, cmd->msg); + if (!cmd->bits) { dev_warn(master->dev, "trying to output 0 bits\n"); return; @@ -458,6 +465,8 @@ static int fsi_master_gpio_break(struct fsi_master *_master, int link) if (link != 0) return -ENODEV; + trace_fsi_master_gpio_break(master); + set_sda_output(master, 1); sda_out(master, 1); clock_toggle(master, FSI_PRE_BREAK_CLOCKS); |