diff options
| author | Ville Syrjälä <[email protected]> | 2024-05-03 15:24:29 +0300 |
|---|---|---|
| committer | Ville Syrjälä <[email protected]> | 2024-05-08 16:39:58 +0300 |
| commit | f7d5b5ff088fc85baa563182f5ff2cd501ed56d5 (patch) | |
| tree | 7dd29dd9de2692736d7b066c42d8e673f522cd26 | |
| parent | 2f1aa210fefa08dc998ccffbf5a67d5be11edf3e (diff) | |
drm/i915/bios: Define VBT block 15 (Dot Clock Override Table) contents
Define the contents of VBT block 15 (Dot Clock Override Table)
The contents were reverse engineered by intuition. The gen2 stuff
seems solid as I can verify that against real world VBT data. The
gen3 stuff less so as all the gen3+ VBTs I have just filla the
entire block with zeroes.
Signed-off-by: Ville Syrjälä <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
Acked-by: Jani Nikula <[email protected]>
| -rw-r--r-- | drivers/gpu/drm/i915/display/intel_vbt_defs.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_vbt_defs.h b/drivers/gpu/drm/i915/display/intel_vbt_defs.h index 741ad566f0cc..75c702c9890b 100644 --- a/drivers/gpu/drm/i915/display/intel_vbt_defs.h +++ b/drivers/gpu/drm/i915/display/intel_vbt_defs.h @@ -798,6 +798,36 @@ struct bdb_driver_persistence { } __packed; /* + * Block 15 - Dot Clock Override Table + */ + +struct dot_clock_override_entry_gen2 { + u32 dotclock; + u8 n; + u8 m1; + u8 m2; + u8 p1:5; + u8 p1_div_by_2:1; + u8 reserved:1; + u8 p2_div_by_4:1; +} __packed; + +struct dot_clock_override_entry_gen3 { + u32 dotclock; + u8 n; + u8 m1; + u8 m2; + u8 p1; + u8 p2; +} __packed; + +struct bdb_dot_clock_override { + u8 row_size; /* 8 == gen2, 9 == gen3+ */ + u8 num_rows; + struct dot_clock_override_entry_gen3 table[]; /* or _gen2 */ +} __packed; + +/* * Block 22 - SDVO LVDS General Options */ |