[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8760kbq40y.fsf@linux.intel.com>
Date: Wed, 15 Feb 2017 09:58:21 +0200
From: Felipe Balbi <felipe.balbi@...ux.intel.com>
To: Lu Baolu <baolu.lu@...ux.intel.com>,
Mathias Nyman <mathias.nyman@...ux.intel.com>
Cc: linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org,
Lu Baolu <baolu.lu@...ux.intel.com>
Subject: Re: [PATCH 1/6] usb: xhci: add xhci_log_cmd trace events
Hi,
Lu Baolu <baolu.lu@...ux.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
Download attachment "signature.asc" of type "application/pgp-signature" (833 bytes)
Powered by blists - more mailing lists