Hi,
Mathias Nyman <[email protected]> writes:
> Unfortunately config endpoint command doesn't log endpoint context in this
> log,
> it should call trace_xhci_handle_cmd_config_ep(ep_ctx), I don't know why
> it's missing.
That's called conditionally:
case TRB_CONFIG_EP:
if (!cmd->completion)
xhci_handle_cmd_config_ep(xhci, slot_id, event,
cmd_comp_code);
> But later on at Set TR Dequeue Pointer Command it logs the endpiont context:
>
> 259.147237: xhci_handle_cmd_set_deq: RS 00000 super-speed Ctx Entries 7 MEL
> 512 us Port# 19/0 [TT Slot 0 Port# 0 TTT 0 Intr 0] Addr 1 State configured
> 259.147238: xhci_handle_cmd_set_deq_ep: State stopped mult 1 max P. Streams 0
> interval 125 us max ESIT payload 201326592 CErr 0 Type Isoc IN burst 2 maxp
> 1024 deq 00000003f9fd6510 avg trb len 3072
>
> This looks odd, 201326592 bytes per ESIT, way too much. So much that I
> suspect tracing decodes it wrong
try this:
modified drivers/usb/host/xhci.h
@@ -2540,9 +2540,7 @@ static inline const char *xhci_decode_ep_context(u32
info, u32 info2, u64 deq,
u8 lsa;
u8 hid;
- esit = EP_MAX_ESIT_PAYLOAD_HI(info) << 16 |
- EP_MAX_ESIT_PAYLOAD_LO(tx_info);
-
+ esit = CTX_TO_MAX_ESIT_PAYLOAD(info);
ep_state = info & EP_STATE_MASK;
max_pstr = info & EP_MAXPSTREAMS_MASK;
interval = CTX_TO_EP_INTERVAL(info);
--
balbi
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html