Changeset 7c3fb9b in mainline for uspace/drv/bus/usb/xhci
- Timestamp:
- 2018-05-17T08:29:01Z (8 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 6ff23ff
- Parents:
- fac0ac7
- git-author:
- Jiri Svoboda <jiri@…> (2018-05-16 17:28:17)
- git-committer:
- Jiri Svoboda <jiri@…> (2018-05-17 08:29:01)
- Location:
- uspace/drv/bus/usb/xhci
- Files:
-
- 4 edited
-
commands.c (modified) (3 diffs)
-
hc.c (modified) (3 diffs)
-
hw_struct/regs.h (modified) (1 diff)
-
rh.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/xhci/commands.c
rfac0ac7 r7c3fb9b 358 358 359 359 if (code == XHCI_TRBC_COMMAND_RING_STOPPED) { 360 /* This can either mean that the ring is being stopped, or 360 /* 361 * This can either mean that the ring is being stopped, or 361 362 * a command was aborted. In either way, wake threads waiting 362 363 * on stopped_cv. … … 671 672 672 673 if (XHCI_REG_RD(hc->op_regs, XHCI_OP_CRR)) { 673 /* 4.6.1.2, implementation note 674 /* 675 * 4.6.1.2, implementation note 674 676 * Assume there are larger problems with HC and 675 677 * reset it. … … 720 722 &cmd->_header.completed_mtx, XHCI_COMMAND_TIMEOUT); 721 723 722 /* The waiting timed out. Current command (not necessarily 724 /* 725 * The waiting timed out. Current command (not necessarily 723 726 * ours) is probably blocked. 724 727 */ -
uspace/drv/bus/usb/xhci/hc.c
rfac0ac7 r7c3fb9b 534 534 joinable_fibril_join(hc->event_worker); 535 535 536 /* Then, disconnect all roothub devices, which shall trigger 537 * disconnection of everything */ 536 /* 537 * Then, disconnect all roothub devices, which shall trigger 538 * disconnection of everything 539 */ 538 540 xhci_rh_stop(&hc->rh); 539 541 } … … 576 578 XHCI_REG_WR(hc->rt_regs->ir, XHCI_INTR_IP, 1); 577 579 578 /* interrupt handler expects status from irq_commands, which is 579 * in xhci order. */ 580 /* 581 * interrupt handler expects status from irq_commands, which is 582 * in xhci order. 583 */ 580 584 *status = host2xhci(32, *status); 581 585 } … … 873 877 xhci_endpoint_t *ep0 = xhci_endpoint_get(dev->base.endpoints[0]); 874 878 875 /* Although we have the precise PSIV value on devices of tier 1, 876 * we have to rely on reverse mapping on others. */ 879 /* 880 * Although we have the precise PSIV value on devices of tier 1, 881 * we have to rely on reverse mapping on others. 882 */ 877 883 if (!usb_speed_to_psiv[dev->base.speed]) { 878 884 usb_log_error("Device reported an USB speed (%s) that cannot be mapped " -
uspace/drv/bus/usb/xhci/hw_struct/regs.h
rfac0ac7 r7c3fb9b 368 368 ioport32_t dnctrl; 369 369 370 /* 3 2 1 0 370 /* 371 * 3 2 1 0 371 372 * 3:0 - CRR CA CS RCS 372 373 * 64:6 - Command Ring Pointer -
uspace/drv/bus/usb/xhci/rh.c
rfac0ac7 r7c3fb9b 291 291 joinable_fibril_start(rh->event_worker); 292 292 293 /* The reset changed status of all ports, and SW originated reason does 293 /* 294 * The reset changed status of all ports, and SW originated reason does 294 295 * not cause an interrupt. 295 296 */
Note:
See TracChangeset
for help on using the changeset viewer.
