Changeset a501aaba in mainline
- Timestamp:
- 2017-10-26T22:21:30Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 5bc8250
- Parents:
- 928afc8d
- Location:
- uspace/drv/bus/usb/xhci
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/xhci/hw_struct/trb.h
r928afc8d ra501aaba 105 105 #define TRB_COMPLETION_CODE(trb) XHCI_DWORD_EXTRACT((trb).status, 31, 24) 106 106 107 #define TRB_LINK_SET_TC(trb, val) \ 108 xhci_dword_set_bits(&(trb).control, val, 1, 1) 109 #define TRB_SET_CYCLE(trb, val) \ 110 xhci_dword_set_bits(&(trb).control, val, 0, 0) 111 107 112 #define TRB_CTRL_SET_SETUP_WLENGTH(trb, val) \ 108 113 xhci_qword_set_bits(&(trb).parameter, val, 63, 48) … … 153 158 || type == XHCI_TRB_TYPE_STATUS_STAGE 154 159 || type == XHCI_TRB_TYPE_ISOCH); 155 }156 157 static inline void xhci_trb_set_cycle(xhci_trb_t *trb, bool cycle)158 {159 xhci_dword_set_bits(&trb->control, cycle, 0, 0);160 160 } 161 161 -
uspace/drv/bus/usb/xhci/trb_ring.c
r928afc8d ra501aaba 107 107 xhci_trb_t *last = segment_end(segment) - 1; 108 108 xhci_trb_link_fill(last, segment->phys); 109 xhci_trb_set_cycle(last, true);109 TRB_LINK_SET_TC(*last, true); 110 110 111 111 ring->enqueue_segment = segment; … … 219 219 trb = first_trb; 220 220 for (size_t i = 0; i < trbs; ++i, ++trb) { 221 xhci_trb_set_cycle(trb, ring->pcs);221 TRB_SET_CYCLE(*trb, ring->pcs); 222 222 xhci_trb_copy(ring->enqueue_trb, trb); 223 223 … … 226 226 227 227 if (TRB_TYPE(*ring->enqueue_trb) == XHCI_TRB_TYPE_LINK) { 228 // XXX: Check, whether the order here is correct (ambiguous instructions in 4.11.5.1) 229 xhci_trb_set_cycle(ring->enqueue_trb, ring->pcs); 228 TRB_SET_CYCLE(*ring->enqueue_trb, ring->pcs); 230 229 231 230 if (TRB_LINK_TC(*ring->enqueue_trb)) {
Note:
See TracChangeset
for help on using the changeset viewer.