diff options
author | David Vrabel <david.vrabel@csr.com> | 2009-10-12 11:45:17 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-12-11 14:55:16 -0500 |
commit | d19fc291929aae528a40dd17c71a81f26254715d (patch) | |
tree | f6621f7fa430042ab764de1cafba8612e079fef7 /drivers | |
parent | dca8cd04dfa4a421511ad0505e4f8a0973f7e38c (diff) |
usb: whci-hcd: decode more QHead fields in the debug files
Print ep number, direction and type; and current window in asl and pzl
debugfs files.
Signed-off-by: David Vrabel <david.vrabel@csr.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/usb/host/whci/debug.c | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/drivers/usb/host/whci/debug.c b/drivers/usb/host/whci/debug.c index 2273c815941f..8c1c610c9513 100644 --- a/drivers/usb/host/whci/debug.c +++ b/drivers/usb/host/whci/debug.c | |||
@@ -31,17 +31,29 @@ struct whc_dbg { | |||
31 | 31 | ||
32 | void qset_print(struct seq_file *s, struct whc_qset *qset) | 32 | void qset_print(struct seq_file *s, struct whc_qset *qset) |
33 | { | 33 | { |
34 | static const char *qh_type[] = { | ||
35 | "ctrl", "isoc", "bulk", "intr", "rsvd", "rsvd", "rsvd", "lpintr", }; | ||
34 | struct whc_std *std; | 36 | struct whc_std *std; |
35 | struct urb *urb = NULL; | 37 | struct urb *urb = NULL; |
36 | int i; | 38 | int i; |
37 | 39 | ||
38 | seq_printf(s, "qset %08x\n", (u32)qset->qset_dma); | 40 | seq_printf(s, "qset %08x", (u32)qset->qset_dma); |
41 | if (&qset->list_node == qset->whc->async_list.prev) { | ||
42 | seq_printf(s, " (dummy)\n"); | ||
43 | } else { | ||
44 | seq_printf(s, " ep%d%s-%s maxpkt: %d\n", | ||
45 | qset->qh.info1 & 0x0f, | ||
46 | (qset->qh.info1 >> 4) & 0x1 ? "in" : "out", | ||
47 | qh_type[(qset->qh.info1 >> 5) & 0x7], | ||
48 | (qset->qh.info1 >> 16) & 0xffff); | ||
49 | } | ||
39 | seq_printf(s, " -> %08x\n", (u32)qset->qh.link); | 50 | seq_printf(s, " -> %08x\n", (u32)qset->qh.link); |
40 | seq_printf(s, " info: %08x %08x %08x\n", | 51 | seq_printf(s, " info: %08x %08x %08x\n", |
41 | qset->qh.info1, qset->qh.info2, qset->qh.info3); | 52 | qset->qh.info1, qset->qh.info2, qset->qh.info3); |
42 | seq_printf(s, " sts: %04x errs: %d\n", qset->qh.status, qset->qh.err_count); | 53 | seq_printf(s, " sts: %04x errs: %d curwin: %08x\n", |
54 | qset->qh.status, qset->qh.err_count, qset->qh.cur_window); | ||
43 | seq_printf(s, " TD: sts: %08x opts: %08x\n", | 55 | seq_printf(s, " TD: sts: %08x opts: %08x\n", |
44 | qset->qh.overlay.qtd.status, qset->qh.overlay.qtd.options); | 56 | qset->qh.overlay.qtd.status, qset->qh.overlay.qtd.options); |
45 | 57 | ||
46 | for (i = 0; i < WHCI_QSET_TD_MAX; i++) { | 58 | for (i = 0; i < WHCI_QSET_TD_MAX; i++) { |
47 | seq_printf(s, " %c%c TD[%d]: sts: %08x opts: %08x ptr: %08x\n", | 59 | seq_printf(s, " %c%c TD[%d]: sts: %08x opts: %08x ptr: %08x\n", |