usb: xhci: add endpoint context tracing when an endpoint is added
authorMathias Nyman <mathias.nyman@linux.intel.com>
Fri, 26 Apr 2019 13:23:32 +0000 (16:23 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 27 Apr 2019 12:53:58 +0000 (14:53 +0200)
The configure endpoint command configures all the endpoints that were
flagged to be added or dropped.

To know the content of each of the added endpoints we need to add tracing
to the .add_endpoint() callback, just after initializing all the context
values.

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/xhci-trace.h
drivers/usb/host/xhci.c

index 9b0e6419a93e71e2f6d1ac24c8c3174da688f2bd..052a269d86f2daf3b14b789e425cf05b15308361 100644 (file)
@@ -366,6 +366,11 @@ DEFINE_EVENT(xhci_log_ep_ctx, xhci_handle_cmd_config_ep,
        TP_ARGS(ctx)
 );
 
+DEFINE_EVENT(xhci_log_ep_ctx, xhci_add_endpoint,
+       TP_PROTO(struct xhci_ep_ctx *ctx),
+       TP_ARGS(ctx)
+);
+
 DECLARE_EVENT_CLASS(xhci_log_slot_ctx,
        TP_PROTO(struct xhci_slot_ctx *ctx),
        TP_ARGS(ctx),
index 2ab76a57f05ee654f5ea89f931ba3e15b0602d4b..a9bb796794e39373713ce8878acc211e4014e01d 100644 (file)
@@ -1807,6 +1807,7 @@ static int xhci_add_endpoint(struct usb_hcd *hcd, struct usb_device *udev,
        struct xhci_container_ctx *in_ctx;
        unsigned int ep_index;
        struct xhci_input_control_ctx *ctrl_ctx;
+       struct xhci_ep_ctx *ep_ctx;
        u32 added_ctxs;
        u32 new_add_flags, new_drop_flags;
        struct xhci_virt_device *virt_dev;
@@ -1897,6 +1898,9 @@ static int xhci_add_endpoint(struct usb_hcd *hcd, struct usb_device *udev,
        /* Store the usb_device pointer for later use */
        ep->hcpriv = udev;
 
+       ep_ctx = xhci_get_ep_ctx(xhci, virt_dev->in_ctx, ep_index);
+       trace_xhci_add_endpoint(ep_ctx);
+
        xhci_debugfs_create_endpoint(xhci, virt_dev, ep_index);
 
        xhci_dbg(xhci, "add ep 0x%x, slot id %d, new drop flags = %#x, new add flags = %#x\n",