Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

USB: typec: tps6598x: Add status trace for tps25750

tps25750 status register is a subset of tps6598x status register, hence
a trace for tps25750 status register is added.

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-10-alkuor@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Abdel Alkuor and committed by
Greg Kroah-Hartman
efa33cd8 e5d4a413

+38
+1
drivers/usb/typec/tipd/core.c
··· 1412 1412 .irq_handler = tps25750_interrupt, 1413 1413 .register_port = tps25750_register_port, 1414 1414 .trace_power_status = trace_tps25750_power_status, 1415 + .trace_status = trace_tps25750_status, 1415 1416 .apply_patch = tps25750_apply_patch, 1416 1417 }; 1417 1418
+37
drivers/usb/typec/tipd/trace.h
··· 91 91 TPS_STATUS_USB_HOST_PRESENT_MASK | \ 92 92 TPS_STATUS_LEGACY_MASK)) 93 93 94 + #define TPS25750_STATUS_FLAGS_MASK (GENMASK(31, 0) ^ (TPS_STATUS_CONN_STATE_MASK | \ 95 + GENMASK(19, 7) | \ 96 + TPS_STATUS_VBUS_STATUS_MASK | \ 97 + TPS_STATUS_USB_HOST_PRESENT_MASK | \ 98 + TPS_STATUS_LEGACY_MASK | \ 99 + BIT(26) | \ 100 + GENMASK(31, 28))) 101 + 94 102 #define show_status_conn_state(status) \ 95 103 __print_symbolic(TPS_STATUS_CONN_STATE((status)), \ 96 104 { TPS_STATUS_CONN_STATE_CONN_WITH_R_A, "conn-Ra" }, \ ··· 155 147 { TPS_STATUS_BIST, "BIST" }, \ 156 148 { TPS_STATUS_HIGH_VOLAGE_WARNING, "HIGH_VOLAGE_WARNING" }, \ 157 149 { TPS_STATUS_HIGH_LOW_VOLTAGE_WARNING, "HIGH_LOW_VOLTAGE_WARNING" }) 150 + 151 + #define show_tps25750_status_flags(flags) \ 152 + __print_flags((flags & TPS25750_STATUS_FLAGS_MASK), "|", \ 153 + { TPS_STATUS_PLUG_PRESENT, "PLUG_PRESENT" }, \ 154 + { TPS_STATUS_PLUG_UPSIDE_DOWN, "UPSIDE_DOWN" }, \ 155 + { TPS_STATUS_PORTROLE, "PORTROLE" }, \ 156 + { TPS_STATUS_DATAROLE, "DATAROLE" }, \ 157 + { TPS_STATUS_BIST, "BIST" }) 158 158 159 159 #define show_power_status_source_sink(power_status) \ 160 160 __print_symbolic(TPS_POWER_STATUS_SOURCESINK(power_status), \ ··· 305 289 show_status_usb_host_present(__entry->status), 306 290 show_status_legacy(__entry->status), 307 291 show_status_flags(__entry->status) 292 + ) 293 + ); 294 + 295 + TRACE_EVENT(tps25750_status, 296 + TP_PROTO(u32 status), 297 + TP_ARGS(status), 298 + 299 + TP_STRUCT__entry( 300 + __field(u32, status) 301 + ), 302 + 303 + TP_fast_assign( 304 + __entry->status = status; 305 + ), 306 + 307 + TP_printk("conn: %s, vbus: %s, usb-host: %s, legacy: %s, flags: %s", 308 + show_status_conn_state(__entry->status), 309 + show_status_vbus_status(__entry->status), 310 + show_status_usb_host_present(__entry->status), 311 + show_status_legacy(__entry->status), 312 + show_tps25750_status_flags(__entry->status) 308 313 ) 309 314 ); 310 315