diff options
Diffstat (limited to 'drivers/usb/host/xhci-dbg.c')
-rw-r--r-- | drivers/usb/host/xhci-dbg.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/drivers/usb/host/xhci-dbg.c b/drivers/usb/host/xhci-dbg.c index 6dbf7d856f80..570cd4820458 100644 --- a/drivers/usb/host/xhci-dbg.c +++ b/drivers/usb/host/xhci-dbg.c | |||
@@ -152,6 +152,31 @@ void xhci_print_op_regs(struct xhci_hcd *xhci) | |||
152 | xhci_print_status(xhci); | 152 | xhci_print_status(xhci); |
153 | } | 153 | } |
154 | 154 | ||
155 | void xhci_print_ports(struct xhci_hcd *xhci) | ||
156 | { | ||
157 | u32 __iomem *addr; | ||
158 | int i, j; | ||
159 | int ports; | ||
160 | char *names[NUM_PORT_REGS] = { | ||
161 | "status", | ||
162 | "power", | ||
163 | "link", | ||
164 | "reserved", | ||
165 | }; | ||
166 | |||
167 | ports = HCS_MAX_PORTS(xhci->hcs_params1); | ||
168 | addr = &xhci->op_regs->port_status_base; | ||
169 | for (i = 0; i < ports; i++) { | ||
170 | for (j = 0; j < NUM_PORT_REGS; ++j) { | ||
171 | xhci_dbg(xhci, "0x%x port %s reg = 0x%x\n", | ||
172 | (unsigned int) addr, | ||
173 | names[j], | ||
174 | (unsigned int) xhci_readl(xhci, addr)); | ||
175 | addr++; | ||
176 | } | ||
177 | } | ||
178 | } | ||
179 | |||
155 | void xhci_print_ir_set(struct xhci_hcd *xhci, struct intr_reg *ir_set, int set_num) | 180 | void xhci_print_ir_set(struct xhci_hcd *xhci, struct intr_reg *ir_set, int set_num) |
156 | { | 181 | { |
157 | void *addr; | 182 | void *addr; |
@@ -228,6 +253,7 @@ void xhci_print_registers(struct xhci_hcd *xhci) | |||
228 | { | 253 | { |
229 | xhci_print_cap_regs(xhci); | 254 | xhci_print_cap_regs(xhci); |
230 | xhci_print_op_regs(xhci); | 255 | xhci_print_op_regs(xhci); |
256 | xhci_print_ports(xhci); | ||
231 | } | 257 | } |
232 | 258 | ||
233 | void xhci_print_trb_offsets(struct xhci_hcd *xhci, union xhci_trb *trb) | 259 | void xhci_print_trb_offsets(struct xhci_hcd *xhci, union xhci_trb *trb) |