Hi,

Lu Baolu <baolu...@linux.intel.com> writes:
> diff --git a/drivers/usb/host/xhci-trace.h b/drivers/usb/host/xhci-trace.h
> index 1ac2cdf..c31eeaf 100644
> --- a/drivers/usb/host/xhci-trace.h
> +++ b/drivers/usb/host/xhci-trace.h
> @@ -285,6 +285,96 @@ DEFINE_EVENT(xhci_log_urb, xhci_urb_dequeue,
>       TP_ARGS(urb)
>  );
>  
> +DECLARE_EVENT_CLASS(xhci_log_cmd,
> +     TP_PROTO(struct xhci_command *cmd),
> +     TP_ARGS(cmd),
> +     TP_STRUCT__entry(
> +             __field(struct xhci_command *, cmd)
> +             __field(struct xhci_container_ctx *, in_ctx)
> +             __field(union xhci_trb *, cmd_trb)
> +             __field(int, slot_id)
> +             __field(int, status)
> +             __field(int, type)
> +     ),
> +     TP_fast_assign(
> +             __entry->cmd = cmd;
> +             __entry->in_ctx = cmd->in_ctx;
> +             __entry->cmd_trb = cmd->command_trb;
> +             __entry->slot_id = cmd->slot_id;
> +             __entry->status = cmd->status;
> +             __entry->type = 
> TRB_FIELD_TO_TYPE(le32_to_cpu(cmd->command_trb->generic.field[3]))
> +     ),
> +     TP_printk("cmd @%p: %s: in_ctx=@%p, slot_id=%d, cmd_trb=@%p, status=%d",
> +             __entry->cmd, xhci_trb_type_string(__entry->type),
> +             __entry->in_ctx, __entry->slot_id, __entry->cmd_trb,
> +             __entry->status
> +     )
> +);

we already have a generic TRB tracer that decodes every single TRB. What
is this bringing that the previous doesn't provide? BTW, I also have
ready Slot and EP context tracers, I didn't send before because I
already had quite a large series pending for Mathias :-p

-- 
balbi

Attachment: signature.asc
Description: PGP signature

Reply via email to