/illumos-gate/usr/src/uts/common/io/usb/hcd/xhci/ |
H A D | xhci_ring.c | 188 xhci_trb_t *trb = &xrp->xr_trb[xrp->xr_tail]; in xhci_ring_event_advance() local 191 if (xrp->xr_cycle != (LE_32(trb->trb_flags) & XHCI_TRB_CYCLE)) in xhci_ring_event_advance() 207 return (trb); in xhci_ring_event_advance() 297 xhci_trb_t *trb; in xhci_ring_trb_fill() local 315 trb = &xrp->xr_trb[ent]; in xhci_ring_trb_fill() 317 trb->trb_addr = host_trb->trb_addr; in xhci_ring_trb_fill() 318 trb->trb_status = host_trb->trb_status; in xhci_ring_trb_fill() 326 trb->trb_flags = flags; in xhci_ring_trb_fill() 338 pa += ((uintptr_t)trb - (uintptr_t)&xrp->xr_trb[0]); in xhci_ring_trb_fill() 351 xhci_trb_t *trb; in xhci_ring_trb_produce() local [all …]
|
H A D | xhci_event.c | 117 xhci_event_process_psc(xhci_t *xhcip, xhci_trb_t *trb) in xhci_event_process_psc() argument 121 if (XHCI_TRB_GET_CODE(LE_32(trb->trb_status)) != XHCI_CODE_SUCCESS) { in xhci_event_process_psc() 125 port = XHCI_TRB_PORTID(LE_64(trb->trb_addr)); in xhci_event_process_psc() 139 xhci_event_process_trb(xhci_t *xhcip, xhci_trb_t *trb) in xhci_event_process_trb() argument 143 type = LE_32(trb->trb_flags) & XHCI_TRB_TYPE_MASK; in xhci_event_process_trb() 146 if (!xhci_event_process_psc(xhcip, trb)) in xhci_event_process_trb() 150 if (!xhci_command_event_callback(xhcip, trb)) in xhci_event_process_trb() 166 if (!xhci_endpoint_transfer_callback(xhcip, trb)) in xhci_event_process_trb() 225 xhci_trb_t *trb; in xhci_event_process() local 227 if ((trb = xhci_ring_event_advance(xrp)) == NULL) in xhci_event_process() [all …]
|
H A D | xhci_polled.c | 102 xhci_polled_get_endpoint(xhci_t *xhcip, xhci_trb_t *trb) in xhci_polled_get_endpoint() argument 107 endpoint = XHCI_TRB_GET_EP(LE_32(trb->trb_flags)); in xhci_polled_get_endpoint() 108 slot = XHCI_TRB_GET_SLOT(LE_32(trb->trb_flags)); in xhci_polled_get_endpoint() 123 xhci_trb_t *trb, uint_t *num_characters) in xhci_polled_endpoint_transfer() argument 139 if ((xt = xhci_endpoint_determine_transfer(xhcip, xep, trb, &off)) == in xhci_polled_endpoint_transfer() 144 code = XHCI_TRB_GET_CODE(LE_32(trb->trb_status)); in xhci_polled_endpoint_transfer() 171 VERIFY(xhci_ring_trb_consumed(&xep->xep_ring, LE_64(trb->trb_addr))); in xhci_polled_endpoint_transfer() 213 xhci_trb_t *trb; in xhci_polled_event_process() local 217 if ((trb = xhci_ring_event_advance(xrp)) == NULL) in xhci_polled_event_process() 220 xep = xhci_polled_get_endpoint(xhcip, trb); in xhci_polled_event_process() [all …]
|
H A D | xhci_endpoint.c | 1055 xhci_trb_t *trb, uint_t *offp) in xhci_endpoint_determine_transfer() argument 1064 ASSERT(trb != NULL); in xhci_endpoint_determine_transfer() 1070 addr = LE_64(trb->trb_addr); in xhci_endpoint_determine_transfer() 1077 if (XHCI_TRB_GET_ED(LE_32(trb->trb_flags)) != 0) { in xhci_endpoint_determine_transfer() 1078 if (LE_64(trb->trb_addr) != (uintptr_t)xt) in xhci_endpoint_determine_transfer() 1099 if (xhci_ring_trb_valid_range(&xep->xep_ring, LE_64(trb->trb_addr), in xhci_endpoint_determine_transfer() 1173 xhci_endpoint_t *xep, xhci_transfer_t *xt, uint_t off, xhci_trb_t *trb) in xhci_endpoint_control_callback() argument 1181 code = XHCI_TRB_GET_CODE(LE_32(trb->trb_status)); in xhci_endpoint_control_callback() 1212 remain = XHCI_TRB_REMAIN(LE_32(trb->trb_status)); in xhci_endpoint_control_callback() 1251 VERIFY(xhci_ring_trb_consumed(&xep->xep_ring, LE_64(trb->trb_addr))); in xhci_endpoint_control_callback() [all …]
|
H A D | xhci_command.c | 308 xhci_command_event_callback(xhci_t *xhcip, xhci_trb_t *trb) in xhci_command_event_callback() argument 325 cstat = XHCI_TRB_GET_CODE(LE_32(trb->trb_status)); in xhci_command_event_callback() 342 if (xhci_ring_trb_tail_valid(xrp, LE_64(trb->trb_addr)) == B_FALSE) { in xhci_command_event_callback() 359 xco->xco_res.trb_addr = LE_64(trb->trb_addr); in xhci_command_event_callback() 360 xco->xco_res.trb_status = LE_32(trb->trb_status); in xhci_command_event_callback() 361 xco->xco_res.trb_flags = LE_32(trb->trb_flags); in xhci_command_event_callback() 367 if (xhci_ring_trb_consumed(xrp, LE_64(trb->trb_addr)) == B_FALSE) { in xhci_command_event_callback() 375 "not be consumed", LE_64(trb->trb_addr)); in xhci_command_event_callback()
|
H A D | xhci_usba.c | 977 xhci_trb_t *trb = &xt->xt_trbs[i]; in xhci_hcdi_isoc_transfer_fill() local 979 trb->trb_addr = LE_64(buf); in xhci_hcdi_isoc_transfer_fill() 986 trb->trb_status = LE_32(XHCI_TRB_LEN(len) | XHCI_TRB_TDREM(0) | in xhci_hcdi_isoc_transfer_fill() 1009 trb->trb_flags = LE_32(flags); in xhci_hcdi_isoc_transfer_fill()
|
/illumos-gate/usr/src/cmd/bhyve/common/ |
H A D | pci_xhci.c | 338 static void pci_xhci_dump_trb(struct xhci_trb *trb); 935 struct xhci_trb *trb) in pci_xhci_cmd_address_device() argument 944 input_ctx = XHCI_GADDR(sc, trb->qwTrb0 & ~0xFUL); in pci_xhci_cmd_address_device() 1022 struct xhci_trb *trb) in pci_xhci_cmd_config_ep() argument 1040 if ((trb->dwTrb3 & XHCI_TRB_3_DCEP_BIT) != 0) { in pci_xhci_cmd_config_ep() 1094 input_ctx = XHCI_GADDR(sc, trb->qwTrb0 & ~0xFUL); in pci_xhci_cmd_config_ep() 1145 struct xhci_trb *trb) in pci_xhci_cmd_reset_ep() argument 1154 epid = XHCI_TRB_3_EP_GET(trb->dwTrb3); in pci_xhci_cmd_reset_ep() 1165 type = XHCI_TRB_3_TYPE_GET(trb->dwTrb3); in pci_xhci_cmd_reset_ep() 1168 (trb->dwTrb3 & XHCI_TRB_3_SUSP_EP_BIT) != 0) { in pci_xhci_cmd_reset_ep() [all …]
|
H A D | pci_xhci.h | 343 struct xhci_trb trb[(XHCI_MAX_STREAMS * member
|
/illumos-gate/usr/src/cmd/mdb/intel/modules/xhci/ |
H A D | xhci.c | 425 xhci_trb_t trb; in xhci_mdb_print_trb() local 434 if (mdb_vread(&trb, sizeof (trb), addr) != sizeof (trb)) { in xhci_mdb_print_trb() 439 pa = LE_64(trb.trb_addr); in xhci_mdb_print_trb() 440 status = LE_32(trb.trb_status); in xhci_mdb_print_trb() 441 trbflags = LE_32(trb.trb_flags); in xhci_mdb_print_trb()
|
/illumos-gate/usr/src/uts/common/sys/usb/hcd/xhci/ |
H A D | xhci.h | 781 extern boolean_t xhci_command_event_callback(xhci_t *, xhci_trb_t *trb);
|