include/uapi/drm/drm.h
Source file repositories/reference/linux-study-clean/include/uapi/drm/drm.h
File Facts
- System
- Linux kernel
- Corpus path
include/uapi/drm/drm.h- Extension
.h- Size
- 47450 bytes
- Lines
- 1481
- Domain
- Repository Root And Misc
- Bucket
- include
- Inferred role
- Repository Root And Misc: implementation source
- Status
- source implementation candidate
Why This File Exists
Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/types.hasm/ioctl.hstdint.hsys/ioccom.hsys/types.hdrm_mode.h
Detected Declarations
struct drm_clip_rectstruct drm_drawable_infostruct drm_tex_regionstruct drm_hw_lockstruct drm_versionstruct drm_uniquestruct drm_liststruct drm_blockstruct drm_controlstruct drm_ctx_priv_mapstruct drm_mapstruct drm_clientstruct drm_statsstruct drm_lockstruct drm_buf_descstruct drm_buf_infostruct drm_buf_freestruct drm_buf_pubstruct drm_buf_mapstruct drm_dmastruct drm_ctxstruct drm_ctx_resstruct drm_drawstruct drm_update_drawstruct drm_authstruct drm_irq_busidstruct drm_wait_vblank_requeststruct drm_wait_vblank_replystruct drm_modeset_ctlstruct drm_agp_modestruct drm_agp_bufferstruct drm_agp_bindingstruct drm_agp_infostruct drm_scatter_gatherstruct drm_set_versionstruct drm_gem_closestruct drm_gem_flinkstruct drm_gem_openstruct drm_gem_change_handlestruct drm_get_capstruct drm_set_client_capstruct drm_prime_handlestruct drm_syncobj_createstruct drm_syncobj_destroystruct drm_syncobj_handlestruct drm_syncobj_transferstruct drm_syncobj_waitstruct drm_syncobj_timeline_wait
Annotated Snippet
struct drm_clip_rect {
unsigned short x1;
unsigned short y1;
unsigned short x2;
unsigned short y2;
};
/*
* Drawable information.
*/
struct drm_drawable_info {
unsigned int num_rects;
struct drm_clip_rect *rects;
};
/*
* Texture region,
*/
struct drm_tex_region {
unsigned char next;
unsigned char prev;
unsigned char in_use;
unsigned char padding;
unsigned int age;
};
/*
* Hardware lock.
*
* The lock structure is a simple cache-line aligned integer. To avoid
* processor bus contention on a multiprocessor system, there should not be any
* other data stored in the same cache line.
*/
struct drm_hw_lock {
__volatile__ unsigned int lock; /**< lock variable */
char padding[60]; /**< Pad to cache line */
};
/*
* DRM_IOCTL_VERSION ioctl argument type.
*
* \sa drmGetVersion().
*/
struct drm_version {
int version_major; /**< Major version */
int version_minor; /**< Minor version */
int version_patchlevel; /**< Patch level */
__kernel_size_t name_len; /**< Length of name buffer */
char __user *name; /**< Name of driver */
__kernel_size_t date_len; /**< Length of date buffer */
char __user *date; /**< User-space buffer to hold date */
__kernel_size_t desc_len; /**< Length of desc buffer */
char __user *desc; /**< User-space buffer to hold desc */
};
/*
* DRM_IOCTL_GET_UNIQUE ioctl argument type.
*
* \sa drmGetBusid() and drmSetBusId().
*/
struct drm_unique {
__kernel_size_t unique_len; /**< Length of unique */
char __user *unique; /**< Unique name for driver instantiation */
};
struct drm_list {
int count; /**< Length of user-space structures */
struct drm_version __user *version;
};
struct drm_block {
int unused;
};
/*
* DRM_IOCTL_CONTROL ioctl argument type.
*
* \sa drmCtlInstHandler() and drmCtlUninstHandler().
*/
struct drm_control {
enum {
DRM_ADD_COMMAND,
DRM_RM_COMMAND,
DRM_INST_HANDLER,
DRM_UNINST_HANDLER
} func;
int irq;
};
/*
Annotation
- Immediate include surface: `linux/types.h`, `asm/ioctl.h`, `stdint.h`, `sys/ioccom.h`, `sys/types.h`, `drm_mode.h`.
- Detected declarations: `struct drm_clip_rect`, `struct drm_drawable_info`, `struct drm_tex_region`, `struct drm_hw_lock`, `struct drm_version`, `struct drm_unique`, `struct drm_list`, `struct drm_block`, `struct drm_control`, `struct drm_ctx_priv_map`.
- Atlas domain: Repository Root And Misc / include.
- 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.