iPXE
Data Fields
xhci_device Struct Reference

An xHCI device. More...

#include <xhci.h>

Data Fields

void * regs
 Registers.
const char * name
 Name.
unsigned int quirks
 Quirks.
void * cap
 Capability registers.
void * op
 Operational registers.
void * run
 Runtime registers.
void * db
 Doorbell registers.
unsigned int slots
 Number of device slots.
unsigned int intrs
 Number of interrupters.
unsigned int ports
 Number of ports.
unsigned int scratchpads
 Number of page-sized scratchpad buffers.
int addr64
 64-bit addressing capability
unsigned int csz_shift
 Context size shift.
unsigned int xecp
 xHCI extended capabilities offset
size_t pagesize
 Page size.
unsigned int legacy
 USB legacy support capability (if present and enabled)
uint64_tdcbaa
 Device context base address array.
userptr_t scratchpad
 Scratchpad buffer area.
uint64_tscratchpad_array
 Scratchpad buffer array.
struct xhci_trb_ring command
 Command ring.
struct xhci_event_ring event
 Event ring.
union xhci_trbpending
 Current command (if any)
struct xhci_slot ** slot
 Device slots, indexed by slot ID.
struct usb_busbus
 USB bus.
struct xhci_pch pch
 Intel PCH quirk.

Detailed Description

An xHCI device.

Definition at line 1039 of file xhci.h.


Field Documentation

Registers.

Definition at line 1041 of file xhci.h.

Referenced by xhci_probe(), and xhci_remove().

const char* xhci_device::name
unsigned int xhci_device::quirks

Quirks.

Definition at line 1045 of file xhci.h.

Referenced by xhci_port_protocol(), xhci_port_psiv(), xhci_port_speed(), xhci_probe(), and xhci_remove().

Runtime registers.

Definition at line 1052 of file xhci.h.

Referenced by xhci_event_alloc(), xhci_event_free(), xhci_event_poll(), and xhci_init().

Doorbell registers.

Definition at line 1054 of file xhci.h.

Referenced by xhci_init(), and xhci_ring_alloc().

unsigned int xhci_device::slots

Number of device slots.

Definition at line 1057 of file xhci.h.

Referenced by xhci_bus_close(), xhci_bus_open(), xhci_dcbaa_alloc(), xhci_dcbaa_free(), xhci_init(), xhci_run(), and xhci_transfer().

unsigned int xhci_device::intrs

Number of interrupters.

Definition at line 1059 of file xhci.h.

Referenced by xhci_init().

unsigned int xhci_device::ports

Number of ports.

Definition at line 1061 of file xhci.h.

Referenced by xhci_init(), xhci_port_status(), xhci_probe(), and xhci_root_open().

Number of page-sized scratchpad buffers.

Definition at line 1064 of file xhci.h.

Referenced by xhci_init(), xhci_scratchpad_alloc(), and xhci_scratchpad_free().

64-bit addressing capability

Definition at line 1067 of file xhci.h.

Referenced by xhci_init().

unsigned int xhci_device::csz_shift

Context size shift.

Definition at line 1069 of file xhci.h.

Referenced by xhci_device_context_offset(), xhci_init(), and xhci_input_context_offset().

unsigned int xhci_device::xecp

xHCI extended capabilities offset

Definition at line 1071 of file xhci.h.

Referenced by xhci_extended_capability(), and xhci_init().

Page size.

Definition at line 1074 of file xhci.h.

Referenced by xhci_init(), and xhci_scratchpad_alloc().

unsigned int xhci_device::legacy

USB legacy support capability (if present and enabled)

Definition at line 1077 of file xhci.h.

Referenced by xhci_legacy_claim(), xhci_legacy_init(), and xhci_legacy_release().

Device context base address array.

Definition at line 1080 of file xhci.h.

Referenced by xhci_dcbaa_alloc(), xhci_dcbaa_free(), xhci_device_close(), xhci_device_open(), xhci_scratchpad_alloc(), and xhci_scratchpad_free().

Scratchpad buffer area.

Definition at line 1083 of file xhci.h.

Referenced by xhci_scratchpad_alloc(), and xhci_scratchpad_free().

Scratchpad buffer array.

Definition at line 1085 of file xhci.h.

Referenced by xhci_scratchpad_alloc(), and xhci_scratchpad_free().

Command ring.

Definition at line 1088 of file xhci.h.

Referenced by xhci_abort(), xhci_command(), xhci_command_alloc(), xhci_command_free(), and xhci_complete().

Event ring.

Definition at line 1090 of file xhci.h.

Referenced by xhci_event_alloc(), xhci_event_free(), and xhci_event_poll().

Current command (if any)

Definition at line 1092 of file xhci.h.

Referenced by xhci_command(), and xhci_complete().

Device slots, indexed by slot ID.

Definition at line 1095 of file xhci.h.

Referenced by xhci_bus_close(), xhci_bus_open(), xhci_device_close(), xhci_device_open(), and xhci_transfer().

USB bus.

Definition at line 1098 of file xhci.h.

Referenced by xhci_port_status(), xhci_probe(), and xhci_remove().

Intel PCH quirk.

Definition at line 1101 of file xhci.h.

Referenced by xhci_pch_fix(), and xhci_pch_undo().


The documentation for this struct was generated from the following file: