include/drm/gud.h
Source file repositories/reference/linux-study-clean/include/drm/gud.h
File Facts
- System
- Linux kernel
- Corpus path
include/drm/gud.h- Extension
.h- Size
- 11934 bytes
- Lines
- 336
- 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.h
Detected Declarations
struct gud_display_descriptor_reqstruct gud_property_reqstruct gud_display_mode_reqstruct gud_connector_descriptor_reqstruct gud_set_buffer_reqstruct gud_state_req
Annotated Snippet
struct gud_display_descriptor_req {
__le32 magic;
#define GUD_DISPLAY_MAGIC 0x1d50614d
__u8 version;
__le32 flags;
#define GUD_DISPLAY_FLAG_STATUS_ON_SET BIT(0)
#define GUD_DISPLAY_FLAG_FULL_UPDATE BIT(1)
__u8 compression;
#define GUD_COMPRESSION_LZ4 BIT(0)
__le32 max_buffer_size;
__le32 min_width;
__le32 max_width;
__le32 min_height;
__le32 max_height;
} __packed;
/*
* struct gud_property_req - Property
* @prop: Property
* @val: Value
*/
struct gud_property_req {
__le16 prop;
__le64 val;
} __packed;
/*
* struct gud_display_mode_req - Display mode
* @clock: Pixel clock in kHz
* @hdisplay: Horizontal display size
* @hsync_start: Horizontal sync start
* @hsync_end: Horizontal sync end
* @htotal: Horizontal total size
* @vdisplay: Vertical display size
* @vsync_start: Vertical sync start
* @vsync_end: Vertical sync end
* @vtotal: Vertical total size
* @flags: Bits 0-13 are the same as in the RandR protocol and also what DRM uses.
* The deprecated bits are reused for internal protocol flags leaving us
* free to follow DRM for the other bits in the future.
* - FLAG_PREFERRED: Set on the preferred display mode.
*/
struct gud_display_mode_req {
__le32 clock;
__le16 hdisplay;
__le16 hsync_start;
__le16 hsync_end;
__le16 htotal;
__le16 vdisplay;
__le16 vsync_start;
__le16 vsync_end;
__le16 vtotal;
__le32 flags;
#define GUD_DISPLAY_MODE_FLAG_PHSYNC BIT(0)
#define GUD_DISPLAY_MODE_FLAG_NHSYNC BIT(1)
#define GUD_DISPLAY_MODE_FLAG_PVSYNC BIT(2)
#define GUD_DISPLAY_MODE_FLAG_NVSYNC BIT(3)
#define GUD_DISPLAY_MODE_FLAG_INTERLACE BIT(4)
#define GUD_DISPLAY_MODE_FLAG_DBLSCAN BIT(5)
#define GUD_DISPLAY_MODE_FLAG_CSYNC BIT(6)
#define GUD_DISPLAY_MODE_FLAG_PCSYNC BIT(7)
#define GUD_DISPLAY_MODE_FLAG_NCSYNC BIT(8)
#define GUD_DISPLAY_MODE_FLAG_HSKEW BIT(9)
/* BCast and PixelMultiplex are deprecated */
#define GUD_DISPLAY_MODE_FLAG_DBLCLK BIT(12)
#define GUD_DISPLAY_MODE_FLAG_CLKDIV2 BIT(13)
#define GUD_DISPLAY_MODE_FLAG_USER_MASK \
(GUD_DISPLAY_MODE_FLAG_PHSYNC | GUD_DISPLAY_MODE_FLAG_NHSYNC | \
GUD_DISPLAY_MODE_FLAG_PVSYNC | GUD_DISPLAY_MODE_FLAG_NVSYNC | \
GUD_DISPLAY_MODE_FLAG_INTERLACE | GUD_DISPLAY_MODE_FLAG_DBLSCAN | \
GUD_DISPLAY_MODE_FLAG_CSYNC | GUD_DISPLAY_MODE_FLAG_PCSYNC | \
GUD_DISPLAY_MODE_FLAG_NCSYNC | GUD_DISPLAY_MODE_FLAG_HSKEW | \
GUD_DISPLAY_MODE_FLAG_DBLCLK | GUD_DISPLAY_MODE_FLAG_CLKDIV2)
/* Internal protocol flags */
#define GUD_DISPLAY_MODE_FLAG_PREFERRED BIT(10)
} __packed;
/*
* struct gud_connector_descriptor_req - Connector descriptor
* @connector_type: Connector type (GUD_CONNECTOR_TYPE_*).
* If the host doesn't support the type it should fall back to PANEL.
* @flags: Flags
* - POLL_STATUS: Connector status can change (polled every 10 seconds)
* - INTERLACE: Interlaced modes are supported
* - DOUBLESCAN: Doublescan modes are supported
*/
struct gud_connector_descriptor_req {
__u8 connector_type;
#define GUD_CONNECTOR_TYPE_PANEL 0
#define GUD_CONNECTOR_TYPE_VGA 1
Annotation
- Immediate include surface: `linux/types.h`.
- Detected declarations: `struct gud_display_descriptor_req`, `struct gud_property_req`, `struct gud_display_mode_req`, `struct gud_connector_descriptor_req`, `struct gud_set_buffer_req`, `struct gud_state_req`.
- 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.