xhci: trace debug statements related to ring expansion
authorXenia Ragiadakou <burzalodowa@gmail.com>
Wed, 14 Aug 2013 03:33:56 +0000 (06:33 +0300)
committerSarah Sharp <sarah.a.sharp@linux.intel.com>
Wed, 14 Aug 2013 04:14:44 +0000 (21:14 -0700)
This patch defines a new trace event, which is called xhci_dbg_ring_expansion
and belongs to the event class xhci_log_msg, and adds tracepoints that trace
the debug messages associated with the expansion of endpoint ring when there
is not enough space allocated to hold all pending TRBs.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
drivers/usb/host/xhci-mem.c
drivers/usb/host/xhci-ring.c
drivers/usb/host/xhci-trace.h

index ef27470..b150360 100644 (file)
@@ -348,7 +348,8 @@ int xhci_ring_expansion(struct xhci_hcd *xhci, struct xhci_ring *ring,
                return -ENOMEM;
 
        xhci_link_rings(xhci, ring, first, last, num_segs);
-       xhci_dbg(xhci, "ring expansion succeed, now has %d segments\n",
+       xhci_dbg_trace(xhci, trace_xhci_dbg_ring_expansion,
+                       "ring expansion succeed, now has %d segments",
                        ring->num_segs);
 
        return 0;
index f908e20..7b35af1 100644 (file)
@@ -2904,8 +2904,8 @@ static int prepare_ring(struct xhci_hcd *xhci, struct xhci_ring *ep_ring,
                        return -ENOMEM;
                }
 
-               xhci_dbg(xhci, "ERROR no room on ep ring, "
-                                       "try ring expansion\n");
+               xhci_dbg_trace(xhci, trace_xhci_dbg_ring_expansion,
+                               "ERROR no room on ep ring, try ring expansion");
                num_trbs_needed = num_trbs - ep_ring->num_trbs_free;
                if (xhci_ring_expansion(xhci, ep_ring, num_trbs_needed,
                                        mem_flags)) {
index 11025fe..20364cc 100644 (file)
@@ -62,6 +62,11 @@ DEFINE_EVENT(xhci_log_msg, xhci_dbg_init,
        TP_ARGS(vaf)
 );
 
+DEFINE_EVENT(xhci_log_msg, xhci_dbg_ring_expansion,
+       TP_PROTO(struct va_format *vaf),
+       TP_ARGS(vaf)
+);
+
 DECLARE_EVENT_CLASS(xhci_log_ctx,
        TP_PROTO(struct xhci_hcd *xhci, struct xhci_container_ctx *ctx,
                 unsigned int ep_num),