drivers/gpu/drm/i915/display/intel_vbt_defs.h
Source file repositories/reference/linux-study-clean/drivers/gpu/drm/i915/display/intel_vbt_defs.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/drm/i915/display/intel_vbt_defs.h- Extension
.h- Size
- 40068 bytes
- Lines
- 1673
- 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
intel_dsi_vbt_defs.h
Detected Declarations
struct bdb_edid_pnp_idstruct bdb_edid_product_namestruct bdb_edid_dtdstruct vbt_headerstruct bdb_headerstruct bdb_general_featuresstruct child_device_configstruct bdb_general_definitionsstruct bdb_display_togglestruct bdb_mode_support_liststruct generic_mode_tablestruct generic_mode_timingsstruct generic_mode_timings_almstruct bdb_generic_mode_table_almstruct bdb_generic_mode_table_mgmstruct bdb_reg_tablestruct dot_clock_override_entry_gen2struct bdb_dot_clock_override_almstruct psr_tablestruct bdb_psrstruct mode_removal_tablestruct bdb_mode_removalstruct bdb_driver_featuresstruct bdb_driver_persistencestruct dot_clock_override_entry_gen3struct bdb_dot_clock_overridestruct toggle_list_entry_oldstruct toggle_list_table_oldstruct bdb_display_select_oldstruct bdb_sv_test_functionsstruct bdb_driver_rotationstruct display_remove_entry_oldstruct bdb_display_remove_oldstruct oem_modestruct bdb_oem_customstruct efp_entrystruct bdb_efp_liststruct bdb_sdvo_lvds_optionsstruct bdb_sdvo_lvds_dtdstruct bdb_sdvo_lvds_pnp_idstruct sdvo_lvds_ppsstruct bdb_sdvo_lvds_ppsstruct bdb_tv_optionsstruct edp_power_seqstruct edp_fast_link_paramsstruct edp_pwm_delaysstruct edp_full_link_paramsstruct edp_apical_params
Annotated Snippet
struct bdb_edid_pnp_id {
u16 mfg_name;
u16 product_code;
u32 serial;
u8 mfg_week;
u8 mfg_year;
} __packed;
struct bdb_edid_product_name {
char name[13];
} __packed;
struct bdb_edid_dtd {
u16 clock; /**< In 10khz */
u8 hactive_lo;
u8 hblank_lo;
u8 hblank_hi:4;
u8 hactive_hi:4;
u8 vactive_lo;
u8 vblank_lo;
u8 vblank_hi:4;
u8 vactive_hi:4;
u8 hsync_off_lo;
u8 hsync_pulse_width_lo;
u8 vsync_pulse_width_lo:4;
u8 vsync_off_lo:4;
u8 vsync_pulse_width_hi:2;
u8 vsync_off_hi:2;
u8 hsync_pulse_width_hi:2;
u8 hsync_off_hi:2;
u8 himage_lo;
u8 vimage_lo;
u8 vimage_hi:4;
u8 himage_hi:4;
u8 h_border;
u8 v_border;
u8 rsvd1:3;
u8 digital:2;
u8 vsync_positive:1;
u8 hsync_positive:1;
u8 non_interlaced:1;
} __packed;
/**
* struct vbt_header - VBT Header structure
* @signature: VBT signature, always starts with "$VBT"
* @version: Version of this structure
* @header_size: Size of this structure
* @vbt_size: Size of VBT (VBT Header, BDB Header and data blocks)
* @vbt_checksum: Checksum
* @reserved0: Reserved
* @bdb_offset: Offset of &struct bdb_header from beginning of VBT
* @aim_offset: Offsets of add-in data blocks from beginning of VBT
*/
struct vbt_header {
u8 signature[20];
u16 version;
u16 header_size;
u16 vbt_size;
u8 vbt_checksum;
u8 reserved0;
u32 bdb_offset;
u32 aim_offset[4];
} __packed;
/**
* struct bdb_header - BDB Header structure
* @signature: BDB signature "BIOS_DATA_BLOCK"
* @version: Version of the data block definitions
* @header_size: Size of this structure
* @bdb_size: Size of BDB (BDB Header and data blocks)
*/
struct bdb_header {
u8 signature[16];
u16 version;
u16 header_size;
u16 bdb_size;
} __packed;
/*
* BDB version number dependencies are documented as:
*
* <start>+
* indicates the field was introduced in version <start>
* and is still valid
*
* <start>-<end>
* indicates the field was introduced in version <start>
* and obsoleted in version <end>+1.
*
Annotation
- Immediate include surface: `intel_dsi_vbt_defs.h`.
- Detected declarations: `struct bdb_edid_pnp_id`, `struct bdb_edid_product_name`, `struct bdb_edid_dtd`, `struct vbt_header`, `struct bdb_header`, `struct bdb_general_features`, `struct child_device_config`, `struct bdb_general_definitions`, `struct bdb_display_toggle`, `struct bdb_mode_support_list`.
- 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.