STRUCT XHCI_CAP_REGS(9)
π struct xhci_cap_regs β NAME
okay bestie, welcome to the Kernel API Manual β¨ this page is all about struct xhci_cap_regs β the xHCI Host Controller Capability Registers. yes, the capability ones. the first block of regs your host controller hits you with, and it's giving main character energy fr fr π
π SYNOPSIS π
like, here's literally the whole struct, character for character, no cap:
struct xhci_cap_regs {
__le32 hc_capbase;
__le32 hcs_params1;
__le32 hcs_params2;
__le32 hcs_params3;
__le32 hcc_params;
__le32 db_off;
__le32 run_regs_off;
__le32 hcc_params2;
};
look at her. eight __le32 fields in a little row. obsessed π«Ά
πΈ Members πΈ
here's the member-by-member vibe check, one bullet each, nothing skipped:
hc_capbaseβ the length of the capabilities register plus the HC version number. two facts in one reg, multitasking icon πhcs_params1βHCSPARAMS1β Structural Parameters 1hcs_params2βHCSPARAMS2β Structural Parameters 2hcs_params3βHCSPARAMS3β Structural Parameters 3hcc_paramsβHCCPARAMSβ Capability Parametersdb_offβDBOFFβ Doorbell array offset. yes, doorbell πrun_regs_offβRTSOFFβ Runtime register space offsethcc_params2βHCCPARAMS2Capability Parameters 2 β and bestie, note this one is xhci 1.1 only. don't come for her if you're on an older spec π
π¦ SEE ALSO π¦
siblings!! the whole family lives in the kernel file ./drivers/usb/host/xhci.h, and honestly you should go say hi to all of them:
struct xhci_op_regs(9)struct xhci_intr_reg(9)struct xhci_run_regs(9)struct xhci_container_ctx(9)struct xhci_slot_ctx(9)struct xhci_ep_ctx(9)struct xhci_device_context_array(9)
ngl this whole page lives under ./drivers/usb/host and it's dated October 2026 β so yeah, future vibes only π go read the source, it ate π₯
that's the whole thing, bestie β go forth and read them capability regs ππ§ββοΈ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms