qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 07/31] xhci: add port trace points


From: Gerd Hoffmann
Subject: [Qemu-devel] [PATCH 07/31] xhci: add port trace points
Date: Thu, 1 Nov 2012 16:54:20 +0100

Signed-off-by: Gerd Hoffmann <address@hidden>
---
 hw/usb/hcd-xhci.c |    6 +++++-
 trace-events      |    2 ++
 2 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c
index 84d1b26..3259638 100644
--- a/hw/usb/hcd-xhci.c
+++ b/hw/usb/hcd-xhci.c
@@ -2391,12 +2391,14 @@ static void xhci_port_update(XHCIPort *port, int 
is_detach)
         }
     }
     set_field(&port->portsc, pls, PORTSC_PLS);
+    trace_usb_xhci_port_link(port->portnr, pls);
     xhci_port_notify(port, PORTSC_CSC);
 }
 
 static void xhci_port_reset(XHCIPort *port)
 {
-    DPRINTF("xhci: port %d reset\n", port);
+    trace_usb_xhci_port_reset(port->portnr);
+
     if (!xhci_port_have_device(port)) {
         return;
     }
@@ -2408,6 +2410,7 @@ static void xhci_port_reset(XHCIPort *port)
     case USB_SPEED_FULL:
     case USB_SPEED_HIGH:
         set_field(&port->portsc, PLS_U0, PORTSC_PLS);
+        trace_usb_xhci_port_link(port->portnr, PLS_U0);
         port->portsc |= PORTSC_PED;
         break;
     }
@@ -2574,6 +2577,7 @@ static void xhci_port_write(void *ptr, hwaddr reg,
             /* overwrite PLS only when LWS=1 */
             uint32_t pls = get_field(val, PORTSC_PLS);
             set_field(&portsc, pls, PORTSC_PLS);
+            trace_usb_xhci_port_link(port->portnr, pls);
         }
         /* read/write bits */
         portsc &= ~(PORTSC_PP|PORTSC_WCE|PORTSC_WDE|PORTSC_WOE);
diff --git a/trace-events b/trace-events
index 7ee21e5..0cb991e 100644
--- a/trace-events
+++ b/trace-events
@@ -333,6 +333,8 @@ usb_xhci_irq_msix_use(uint32_t nr) "nr %d"
 usb_xhci_irq_msix_unuse(uint32_t nr) "nr %d"
 usb_xhci_queue_event(uint32_t vector, uint32_t idx, const char *trb, const 
char *evt, uint64_t param, uint32_t status, uint32_t control) "v %d, idx %d, 
%s, %s, p %016" PRIx64 ", s %08x, c 0x%08x"
 usb_xhci_fetch_trb(uint64_t addr, const char *name, uint64_t param, uint32_t 
status, uint32_t control) "addr %016" PRIx64 ", %s, p %016" PRIx64 ", s %08x, c 
0x%08x"
+usb_xhci_port_reset(uint32_t port) "port %d"
+usb_xhci_port_link(uint32_t port, uint32_t pls) "port %d, pls %d"
 usb_xhci_slot_enable(uint32_t slotid) "slotid %d"
 usb_xhci_slot_disable(uint32_t slotid) "slotid %d"
 usb_xhci_slot_address(uint32_t slotid) "slotid %d"
-- 
1.7.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]