drivers/gpu/drm/qxl/qxl_dev.h
Source file repositories/reference/linux-study-clean/drivers/gpu/drm/qxl/qxl_dev.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/drm/qxl/qxl_dev.h- Extension
.h- Size
- 18125 bytes
- Lines
- 877
- 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.h
Detected Declarations
struct qxl_point_fixstruct qxl_pointstruct qxl_point_1_6struct qxl_rectstruct qxl_urectstruct qxl_romstruct qxl_modestruct qxl_modesstruct qxl_commandstruct qxl_command_extstruct qxl_mem_slotstruct qxl_surface_createstruct qxl_ring_headerstruct qxl_ram_headerstruct qxl_release_info_extstruct qxl_data_chunkstruct qxl_messagestruct qxl_compat_update_cmdstruct qxl_update_cmdstruct qxl_cursor_headerstruct qxl_cursorstruct qxl_cursor_cmdstruct qxl_raster_glyphstruct qxl_stringstruct qxl_copy_bitsstruct qxl_patternstruct qxl_brushstruct qxl_q_maskstruct qxl_fillstruct qxl_opaquestruct qxl_copystruct qxl_transparentstruct qxl_alpha_blendstruct qxl_compat_alpha_blendstruct qxl_rop_3struct qxl_line_attrstruct qxl_strokestruct qxl_textstruct qxl_maskstruct qxl_clipstruct qxl_transformstruct qxl_compositestruct qxl_compat_drawablestruct qxl_drawablestruct qxl_surfacestruct qxl_surface_cmdstruct qxl_clip_rectsstruct qxl_path_seg
Annotated Snippet
struct qxl_point_fix {
QXLFIXED x;
QXLFIXED y;
};
struct qxl_point {
int32_t x;
int32_t y;
};
struct qxl_point_1_6 {
int16_t x;
int16_t y;
};
struct qxl_rect {
int32_t top;
int32_t left;
int32_t bottom;
int32_t right;
};
struct qxl_urect {
uint32_t top;
uint32_t left;
uint32_t bottom;
uint32_t right;
};
/* qxl-1 compat: append only */
struct qxl_rom {
uint32_t magic;
uint32_t id;
uint32_t update_id;
uint32_t compression_level;
uint32_t log_level;
uint32_t mode; /* qxl-1 */
uint32_t modes_offset;
uint32_t num_io_pages;
uint32_t pages_offset; /* qxl-1 */
uint32_t draw_area_offset; /* qxl-1 */
uint32_t surface0_area_size; /* qxl-1 name: draw_area_size */
uint32_t ram_header_offset;
uint32_t mm_clock;
/* appended for qxl-2 */
uint32_t n_surfaces;
uint64_t flags;
uint8_t slots_start;
uint8_t slots_end;
uint8_t slot_gen_bits;
uint8_t slot_id_bits;
uint8_t slot_generation;
/* appended for qxl-4 */
uint8_t client_present;
uint8_t client_capabilities[58];
uint32_t client_monitors_config_crc;
struct {
uint16_t count;
uint16_t padding;
struct qxl_urect heads[64];
} client_monitors_config;
};
/* qxl-1 compat: fixed */
struct qxl_mode {
uint32_t id;
uint32_t x_res;
uint32_t y_res;
uint32_t bits;
uint32_t stride;
uint32_t x_mili;
uint32_t y_mili;
uint32_t orientation;
};
/* qxl-1 compat: fixed */
struct qxl_modes {
uint32_t n_modes;
struct qxl_mode modes[];
};
/* qxl-1 compat: append only */
enum qxl_cmd_type {
QXL_CMD_NOP,
QXL_CMD_DRAW,
QXL_CMD_UPDATE,
QXL_CMD_CURSOR,
QXL_CMD_MESSAGE,
QXL_CMD_SURFACE,
};
Annotation
- Immediate include surface: `linux/types.h`.
- Detected declarations: `struct qxl_point_fix`, `struct qxl_point`, `struct qxl_point_1_6`, `struct qxl_rect`, `struct qxl_urect`, `struct qxl_rom`, `struct qxl_mode`, `struct qxl_modes`, `struct qxl_command`, `struct qxl_command_ext`.
- 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.