Skip to content

Commit

Permalink
USB: typec: tps6598x: Add trace for tps25750 irq
Browse files Browse the repository at this point in the history
tps25750 event1 register doesn't have all bits in tps6598x
event registers, only show the events that are masked

Signed-off-by: Abdel Alkuor <abdelalkuor@geotab.com>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20231003155842.57313-8-alkuor@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Abdel Alkuor authored and Greg Kroah-Hartman committed Oct 10, 2023
1 parent 7e7a3c8 commit 0aaa6d1
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 0 deletions.
1 change: 1 addition & 0 deletions drivers/usb/typec/tipd/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -589,6 +589,7 @@ static irqreturn_t tps25750_interrupt(int irq, void *data)
dev_err(tps->dev, "%s: failed to read events\n", __func__);
goto err_unlock;
}
trace_tps25750_irq(event[0]);

if (!(event[0] | event[1]))
goto err_unlock;
Expand Down
22 changes: 22 additions & 0 deletions drivers/usb/typec/tipd/trace.h
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,13 @@
{ APPLE_CD_REG_INT_DATA_STATUS_UPDATE, "DATA_STATUS_UPDATE" }, \
{ APPLE_CD_REG_INT_STATUS_UPDATE, "STATUS_UPDATE" })

#define show_tps25750_irq_flags(flags) \
__print_flags_u64(flags, "|", \
{ TPS_REG_INT_PLUG_EVENT, "PLUG_EVENT" }, \
{ TPS_REG_INT_POWER_STATUS_UPDATE, "POWER_STATUS_UPDATE" }, \
{ TPS_REG_INT_STATUS_UPDATE, "STATUS_UPDATE" }, \
{ TPS_REG_INT_PD_STATUS_UPDATE, "PD_STATUS_UPDATE" })

#define TPS6598X_STATUS_FLAGS_MASK (GENMASK(31, 0) ^ (TPS_STATUS_CONN_STATE_MASK | \
TPS_STATUS_PP_5V0_SWITCH_MASK | \
TPS_STATUS_PP_HV_SWITCH_MASK | \
Expand Down Expand Up @@ -230,6 +237,21 @@ TRACE_EVENT(cd321x_irq,
show_cd321x_irq_flags(__entry->event))
);

TRACE_EVENT(tps25750_irq,
TP_PROTO(u64 event),
TP_ARGS(event),

TP_STRUCT__entry(
__field(u64, event)
),

TP_fast_assign(
__entry->event = event;
),

TP_printk("event=%s", show_tps25750_irq_flags(__entry->event))
);

TRACE_EVENT(tps6598x_status,
TP_PROTO(u32 status),
TP_ARGS(status),
Expand Down

0 comments on commit 0aaa6d1

Please sign in to comment.