Skip to content

xHCI

Member TypeMember Name
uint8_tcap_length
uint8_treserved
uint16_thci_version
uint32_thcs_params1
uint32_thcs_params2
uint32_thcs_params3
uint32_thcc_params1
uint32_tdboff
uint32_trtsoff
uint32_thcc_params2
Member TypeMember Name
uint32_tportsc
uint32_tportpmsc
uint32_tportli
uint32_tportct
Member TypeMember Name
union { uint32_t raw; struct { uint32_t run_stop : 1; uint32_t host_controller_reset : 1; uint32_t interrupter_enable : 1; uint32_t host_system_error_en : 1; uint32_t reserved0 : 3; uint32_t light_host_controller_reset : 1; uint32_t controller_save_state : 1; uint32_t controller_restore_state : 1; uint32_t enable_wrap_event : 1; uint32_t enable_u3_mf_index : 1; uint32_t reserved1 : 1; uint32_t cem_enable : 1; uint32_t extended_tbc_enable : 1; uint32_t extended_tbc_trb_status_enable : 1; uint32_t vtio_enable : 1; uint32_t reserved2 : 15; }; }None
Member TypeMember Name
uint32_troute_string
uint32_tspeed
uint32_treserved0
uint32_tmtt
uint32_thub
uint32_tcontext_entries
uint32_tmax_exit_latency
uint32_troot_hub_port
uint32_tnum_ports
uint32_tparent_hub_slot_id
uint32_tparent_port_number
uint32_tparent_think_time
uint32_treserved1
uint32_tinterrupter_target
uint32_tusb_device_address
uint32_treserved2
uint32_tslot_state
uint32_treserved3[4]
Member TypeMember Name
uint32_tep_state
uint32_treserved1
uint32_tmult
uint32_tmax_pstreams
uint32_tlsa
uint32_tinterval
uint32_tmax_esit_payload_hi
uint32_treserved2
uint32_terror_count
uint32_tep_type
uint32_treserved3
uint32_thost_initiate_disable
uint32_tmax_burst_size
uint32_tmax_packet_size
union { uint64_t dequeue_ptr_raw; struct { uint32_t dcs : 1; /* Dequeue cycle state - value of the xHC CCS * (Consumer Cycle State) flag for the TRB * referenced by the TR Dequeue pointer. * '0' if max_pstreams > '0' */ uint32_t reserved4 : 3; uint64_t dequeue_ptr : 60; /* dequeue pointer * MUST be aligned to 16 BYTE BOUNDARY */ }; }None
uint32_taverage_trb_length
uint32_tmax_esit_payload_lo
uint32_treserved5[3]
Member TypeMember Name
uint32_tdrop_flags
uint32_tadd_flags
uint32_treserved[5]
uint32_tconfig
uint32_tinterface_num
uint32_talternate_setting
uint32_treserved1
Member TypeMember Name
struct xhci_input_ctrl_ctxctrl_ctx
struct xhci_slot_ctxslot_ctx
struct xhci_ep_ctxep_ctx[31]
Member TypeMember Name
struct xhci_slot_ctxslot_ctx
struct xhci_ep_ctxep_ctx[32]
Member TypeMember Name
struct xhci_usbcmdusbcmd
uint32_tusbsts
uint32_tpagesize
uint32_treserved[2]
uint32_tdnctrl
uint64_tcrcr
uint32_treserved2[4]
uint64_tdcbaap
uint32_tconfig
uint32_treserved3[241]
struct xhci_port_regsregs[]
Member TypeMember Name
uint64_tparameter
uint32_tstatus
uint32_tcontrol
Member TypeMember Name
struct xhci_trb*trbs
uint64_tphys
uint32_tenqueue_index
uint32_tdequeue_index
uint8_tcycle
uint32_tsize
size_toutgoing
Member TypeMember Name
uint64_tring_segment_base
uint32_tring_segment_size
uint32_treserved
Member TypeMember Name
uint32_timan
uint32_timod
uint32_terstsz
uint32_treserved
uint64_terstba
uint64_terdp
Member TypeMember Name
uint64_tptrs[256]
Member TypeMember Name
uint8_tcap_id
uint8_tnext
uint16_tcap_specific
Member TypeMember Name
enum xhci_slot_statestate
struct xhci_device*dev
struct xhci_ring*ep_rings[32]
uint8_tslot_id
refcount_trefcount
struct xhci_port*port
struct usb_device*udev
Member TypeMember Name
struct spinlockupdate_lock
uint8_tport_id
struct xhci_slot*slot
uint8_tspeed
boolusb3
uint64_tgeneration
enum xhci_port_statestate
struct xhci_device*dev
Member TypeMember Name
uint8_tirq
struct pci_device*pci
struct xhci_input_ctx*input_ctx
struct xhci_cap_regs*cap_regs
struct xhci_op_regs*op_regs
struct xhci_interrupter_regs*intr_regs
struct xhci_dcbaa*dcbaa
struct xhci_ring*event_ring
struct xhci_ring*cmd_ring
struct xhci_erst_entry*erst
struct xhci_port_regs*port_regs
uint64_tports
struct xhci_slotslots[XHCI_SLOT_COUNT]
struct xhci_portport_info[XHCI_PORT_COUNT]
struct list_headrequests[XHCI_REQ_LIST_MAX]
size_tnum_devices
struct list_headdevices
struct spinlocklock
struct semaphoresem
struct semaphoreport_disconnect
struct semaphoreport_connect
struct usb_controller*controller
atomic_boolworker_waiting
Member TypeMember Name
struct xhci_ring*ring
struct xhci_slot*slot
uint32_tep_id
size_tnum_trbs
void(*emit)(struct xhci_command *cmd, struct xhci_ring *ring)
struct xhci_request*request
void*private
Member TypeMember Name
enum xhci_request_listlist_owner
struct usb_request*urb
struct xhci_command*command
boolslot_reset
struct xhci_trb*last_trb
uint64_ttrb_phys
uint8_tport
uint8_tcompletion_code
uint64_treturn_parameter
uint32_treturn_status
uint32_treturn_control
uint64_tgeneration
enum xhci_request_statusstatus
struct list_headlist
void(*callback)(struct xhci_device *, struct xhci_request *)
void*private
Member TypeMember Name
uint32_tcontrol
uint32_tstatus
NameValue
XHCI_SLOT_STATE_UNDEFNone
XHCI_SLOT_STATE_ENABLEDNone
XHCI_SLOT_STATE_DISCONNECTINGNone
XHCI_SLOT_STATE_DISCONNECTEDNone
NameValue
XHCI_PORT_STATE_UNDEFNone
XHCI_PORT_STATE_CONNECTINGNone
XHCI_PORT_STATE_CONNECTEDNone
XHCI_PORT_STATE_DISCONNECTINGNone
XHCI_PORT_STATE_DISCONNECTEDNone
NameValue
XHCI_REQUEST_SENDINGNone
XHCI_REQUEST_OKNone
XHCI_REQUEST_CANCELLEDNone
XHCI_REQUEST_DISCONNECTNone
XHCI_REQUEST_ERRNone
NameValue
XHCI_REQ_LIST_NONENone
XHCI_REQ_LIST_OUTGOINGNone
XHCI_REQ_LIST_WAITINGNone
XHCI_REQ_LIST_PROCESSEDNone
XHCI_REQ_LIST_MAXNone