Changeset 62ba2cbe in mainline for uspace/drv/bus/usb/xhci/debug.c
- Timestamp:
- 2017-06-16T01:25:16Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- cb89430
- Parents:
- ce6e001
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/xhci/debug.c
rce6e001 r62ba2cbe 38 38 39 39 #include "debug.h" 40 #include "hc.h" 41 42 #define PX "\t%-21s = " 40 43 41 44 #define DUMP_REG_FIELD(ptr, title, size, ...) \ 42 usb_log_debug2( title "%" PRIu##size, XHCI_REG_RD_FIELD(ptr, size, ##__VA_ARGS__))45 usb_log_debug2(PX "%" PRIu##size, title, XHCI_REG_RD_FIELD(ptr, size, ##__VA_ARGS__)) 43 46 44 47 #define DUMP_REG_RANGE(ptr, title, size, ...) \ 45 usb_log_debug2( title "%" PRIu##size, XHCI_REG_RD_RANGE(ptr, size, ##__VA_ARGS__))48 usb_log_debug2(PX "%" PRIu##size, title, XHCI_REG_RD_RANGE(ptr, size, ##__VA_ARGS__)) 46 49 47 50 #define DUMP_REG_FLAG(ptr, title, size, ...) \ 48 usb_log_debug2( title "%s", XHCI_REG_RD_FLAG(ptr, size, ##__VA_ARGS__) ? "true" : "false")51 usb_log_debug2(PX "%s", title, XHCI_REG_RD_FLAG(ptr, size, ##__VA_ARGS__) ? "true" : "false") 49 52 50 53 #define DUMP_REG_INNER(set, title, field, size, type, ...) \ 51 54 DUMP_REG_##type(&(set)->field, title, size, ##__VA_ARGS__) 52 55 53 #define DUMP_REG(set, c) DUMP_REG_INNER(set, "\t" #c ": ", c)56 #define DUMP_REG(set, c) DUMP_REG_INNER(set, #c, c) 54 57 55 58 /** … … 92 95 } 93 96 97 void xhci_dump_port(xhci_port_regs_t *port) 98 { 99 DUMP_REG(port, XHCI_PORT_CCS); 100 DUMP_REG(port, XHCI_PORT_PED); 101 DUMP_REG(port, XHCI_PORT_OCA); 102 DUMP_REG(port, XHCI_PORT_PR); 103 DUMP_REG(port, XHCI_PORT_PLS); 104 DUMP_REG(port, XHCI_PORT_PP); 105 DUMP_REG(port, XHCI_PORT_PIC); 106 DUMP_REG(port, XHCI_PORT_LWS); 107 DUMP_REG(port, XHCI_PORT_CSC); 108 DUMP_REG(port, XHCI_PORT_PEC); 109 DUMP_REG(port, XHCI_PORT_WRC); 110 DUMP_REG(port, XHCI_PORT_OCC); 111 DUMP_REG(port, XHCI_PORT_PRC); 112 DUMP_REG(port, XHCI_PORT_PLC); 113 DUMP_REG(port, XHCI_PORT_CEC); 114 DUMP_REG(port, XHCI_PORT_CAS); 115 DUMP_REG(port, XHCI_PORT_WCE); 116 DUMP_REG(port, XHCI_PORT_WDE); 117 DUMP_REG(port, XHCI_PORT_WOE); 118 DUMP_REG(port, XHCI_PORT_DR); 119 DUMP_REG(port, XHCI_PORT_WPR); 120 } 121 122 void xhci_dump_state(xhci_hc_t *hc) 123 { 124 usb_log_debug2("Operational registers:"); 125 126 DUMP_REG(hc->op_regs, XHCI_OP_RS); 127 DUMP_REG(hc->op_regs, XHCI_OP_RS); 128 DUMP_REG(hc->op_regs, XHCI_OP_HCRST); 129 DUMP_REG(hc->op_regs, XHCI_OP_INTE); 130 DUMP_REG(hc->op_regs, XHCI_OP_HSEE); 131 DUMP_REG(hc->op_regs, XHCI_OP_LHCRST); 132 DUMP_REG(hc->op_regs, XHCI_OP_CSS); 133 DUMP_REG(hc->op_regs, XHCI_OP_CRS); 134 DUMP_REG(hc->op_regs, XHCI_OP_EWE); 135 DUMP_REG(hc->op_regs, XHCI_OP_EU3S); 136 DUMP_REG(hc->op_regs, XHCI_OP_CME); 137 DUMP_REG(hc->op_regs, XHCI_OP_HCH); 138 DUMP_REG(hc->op_regs, XHCI_OP_HSE); 139 DUMP_REG(hc->op_regs, XHCI_OP_EINT); 140 DUMP_REG(hc->op_regs, XHCI_OP_PCD); 141 DUMP_REG(hc->op_regs, XHCI_OP_SSS); 142 DUMP_REG(hc->op_regs, XHCI_OP_RSS); 143 DUMP_REG(hc->op_regs, XHCI_OP_SRE); 144 DUMP_REG(hc->op_regs, XHCI_OP_CNR); 145 DUMP_REG(hc->op_regs, XHCI_OP_HCE); 146 DUMP_REG(hc->op_regs, XHCI_OP_PAGESIZE); 147 DUMP_REG(hc->op_regs, XHCI_OP_NOTIFICATION); 148 DUMP_REG(hc->op_regs, XHCI_OP_RCS); 149 DUMP_REG(hc->op_regs, XHCI_OP_CS); 150 DUMP_REG(hc->op_regs, XHCI_OP_CA); 151 DUMP_REG(hc->op_regs, XHCI_OP_CRR); 152 DUMP_REG(hc->op_regs, XHCI_OP_CRCR_LO); 153 DUMP_REG(hc->op_regs, XHCI_OP_CRCR_HI); 154 155 const size_t num_ports = XHCI_REG_RD(hc->cap_regs, XHCI_CAP_MAX_PORTS); 156 for (size_t i = 0; i < num_ports; i++) { 157 usb_log_debug2("Port %zu state:", i); 158 159 xhci_dump_port(&hc->op_regs->portrs[i]); 160 } 161 } 94 162 /** 95 163 * @}
Note:
See TracChangeset
for help on using the changeset viewer.