drivers/gpu/drm/xe/xe_guc_capture_types.h
Source file repositories/reference/linux-study-clean/drivers/gpu/drm/xe/xe_guc_capture_types.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/drm/xe/xe_guc_capture_types.h- Extension
.h- Size
- 2059 bytes
- Lines
- 71
- Domain
- Driver Families
- Bucket
- drivers/gpu
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/types.hregs/xe_reg_defs.h
Detected Declarations
struct xe_gucstruct __guc_mmio_reg_descrstruct __guc_mmio_reg_descr_groupenum capture_register_data_type
Annotated Snippet
struct __guc_mmio_reg_descr {
/** @reg: the register */
struct xe_reg reg;
/**
* @data_type: data type of the register
* Could be 32 bit, low or hi dword of a 64 bit, see enum
* capture_register_data_type
*/
enum capture_register_data_type data_type;
/** @flags: Flags for the register */
u32 flags;
/** @mask: The mask to apply */
u32 mask;
/** @dss_id: Cached index for steered registers */
u32 dss_id;
/** @regname: Name of the register */
const char *regname;
};
/**
* struct __guc_mmio_reg_descr_group - The group of register descriptor
*
* xe_guc_capture module uses these structures to maintain static
* tables (per unique platform) that consists of lists of registers
* (offsets, names, flags,...) that are used at the ADS registration
* time as well as during runtime processing and reporting of error-
* capture states generated by GuC just prior to engine reset events.
*/
struct __guc_mmio_reg_descr_group {
/** @list: The register list */
const struct __guc_mmio_reg_descr *list;
/** @num_regs: Count of registers in the list */
u32 num_regs;
/** @owner: PF/VF owner, see enum guc_capture_list_index_type */
u32 owner;
/** @type: Capture register type, see enum guc_state_capture_type */
u32 type;
/** @engine: The engine class, see enum guc_capture_list_class_type */
u32 engine;
};
#endif
Annotation
- Immediate include surface: `linux/types.h`, `regs/xe_reg_defs.h`.
- Detected declarations: `struct xe_guc`, `struct __guc_mmio_reg_descr`, `struct __guc_mmio_reg_descr_group`, `enum capture_register_data_type`.
- Atlas domain: Driver Families / drivers/gpu.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.