iPXE
Data Fields
xhci_device Struct Reference

An xHCI device. More...

#include <xhci.h>

Data Fields

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

Detailed Description

An xHCI device.

Definition at line 1067 of file xhci.h.

Field Documentation

◆ regs

void* xhci_device::regs

Registers.

Definition at line 1069 of file xhci.h.

Referenced by xhci_probe(), and xhci_remove().

◆ dma

struct dma_device* xhci_device::dma

◆ name

const char* xhci_device::name

◆ quirks

unsigned int xhci_device::quirks

Quirks.

Definition at line 1075 of file xhci.h.

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

◆ cap

void* xhci_device::cap

◆ op

void* xhci_device::op

◆ run

void* xhci_device::run

Runtime registers.

Definition at line 1082 of file xhci.h.

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

◆ db

void* xhci_device::db

Doorbell registers.

Definition at line 1084 of file xhci.h.

Referenced by xhci_init(), and xhci_ring_alloc().

◆ slots

unsigned int xhci_device::slots

Number of device slots.

Definition at line 1087 of file xhci.h.

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

◆ intrs

unsigned int xhci_device::intrs

Number of interrupters.

Definition at line 1089 of file xhci.h.

Referenced by xhci_init().

◆ ports

unsigned int xhci_device::ports

Number of ports.

Definition at line 1091 of file xhci.h.

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

◆ addr64

int xhci_device::addr64

64-bit addressing capability

Definition at line 1094 of file xhci.h.

Referenced by xhci_init(), xhci_probe(), and xhci_writeq().

◆ csz_shift

unsigned int xhci_device::csz_shift

Context size shift.

Definition at line 1096 of file xhci.h.

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

◆ xecp

unsigned int xhci_device::xecp

xHCI extended capabilities offset

Definition at line 1098 of file xhci.h.

Referenced by xhci_extended_capability(), and xhci_init().

◆ pagesize

size_t xhci_device::pagesize

Page size.

Definition at line 1101 of file xhci.h.

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

◆ legacy

unsigned int xhci_device::legacy

USB legacy support capability (if present and enabled)

Definition at line 1104 of file xhci.h.

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

◆ dcbaa

struct xhci_dcbaa xhci_device::dcbaa

Device context base address array.

Definition at line 1107 of file xhci.h.

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

◆ scratch

struct xhci_scratchpad xhci_device::scratch

Scratchpad buffer.

Definition at line 1110 of file xhci.h.

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

◆ command

struct xhci_trb_ring xhci_device::command

Command ring.

Definition at line 1113 of file xhci.h.

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

◆ event

struct xhci_event_ring xhci_device::event

Event ring.

Definition at line 1115 of file xhci.h.

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

◆ pending

union xhci_trb* xhci_device::pending

Current command (if any)

Definition at line 1117 of file xhci.h.

Referenced by xhci_command(), and xhci_complete().

◆ failed

int xhci_device::failed

Command mechanism has permanently failed.

Definition at line 1119 of file xhci.h.

Referenced by xhci_command(), xhci_event_poll(), and xhci_fail().

◆ slot

struct xhci_slot** xhci_device::slot

Device slots, indexed by slot ID.

Definition at line 1122 of file xhci.h.

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

◆ bus

struct usb_bus* xhci_device::bus

USB bus.

Definition at line 1125 of file xhci.h.

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

◆ pch

struct xhci_pch xhci_device::pch

Intel PCH quirk.

Definition at line 1128 of file xhci.h.

Referenced by xhci_pch_fix(), and xhci_pch_undo().


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