drivers/gpu/drm/xe/xe_tile_types.h
Source file repositories/reference/linux-study-clean/drivers/gpu/drm/xe/xe_tile_types.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/drm/xe/xe_tile_types.h- Extension
.h- Size
- 3549 bytes
- Lines
- 140
- 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/mutex_types.hlinux/workqueue_types.hxe_lmtt_types.hxe_memirq_types.hxe_mert.hxe_mmio_types.hxe_tile_sriov_vf_types.h
Detected Declarations
struct xe_tile
Annotated Snippet
struct xe_tile {
/** @xe: Backpointer to tile's PCI device */
struct xe_device *xe;
/** @id: ID of the tile */
u8 id;
/**
* @primary_gt: Primary GT
*/
struct xe_gt *primary_gt;
/**
* @media_gt: Media GT
*
* Only present on devices with media version >= 13.
*/
struct xe_gt *media_gt;
/**
* @mmio: MMIO info for a tile.
*
* Each tile has its own 16MB space in BAR0, laid out as:
* * 0-4MB: registers
* * 4MB-8MB: reserved
* * 8MB-16MB: global GTT
*/
struct xe_mmio mmio;
/** @mem: memory management info for tile */
struct {
/**
* @mem.kernel_vram: kernel-dedicated VRAM info for tile.
*
* Although VRAM is associated with a specific tile, it can
* still be accessed by all tiles' GTs.
*/
struct xe_vram_region *kernel_vram;
/**
* @mem.vram: general purpose VRAM info for tile.
*
* Although VRAM is associated with a specific tile, it can
* still be accessed by all tiles' GTs.
*/
struct xe_vram_region *vram;
/** @mem.ggtt: Global graphics translation table */
struct xe_ggtt *ggtt;
/**
* @mem.kernel_bb_pool: Pool from which batchbuffers are allocated.
*
* Media GT shares a pool with its primary GT.
*/
struct xe_sa_manager *kernel_bb_pool;
/**
* @mem.reclaim_pool: Pool for PRLs allocated.
*
* Only main GT has page reclaim list allocations.
*/
struct xe_sa_manager *reclaim_pool;
} mem;
/** @sriov: tile level virtualization data */
union {
struct {
/** @sriov.pf.lmtt: Local Memory Translation Table. */
struct xe_lmtt lmtt;
} pf;
struct {
/** @sriov.vf.self_config: VF configuration data */
struct xe_tile_sriov_vf_selfconfig self_config;
} vf;
} sriov;
/** @memirq: Memory Based Interrupts. */
struct xe_memirq memirq;
/** @csc_hw_error_work: worker to report CSC HW errors */
struct work_struct csc_hw_error_work;
/** @pcode: tile's PCODE */
struct {
/** @pcode.lock: protecting tile's PCODE mailbox data */
struct mutex lock;
} pcode;
/** @migrate: Migration helper for vram blits and clearing */
Annotation
- Immediate include surface: `linux/mutex_types.h`, `linux/workqueue_types.h`, `xe_lmtt_types.h`, `xe_memirq_types.h`, `xe_mert.h`, `xe_mmio_types.h`, `xe_tile_sriov_vf_types.h`.
- Detected declarations: `struct xe_tile`.
- 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.