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ä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240503122449.27266-16-ville.syrjala@linux.intel.com
Acked-by: Jani Nikula <jani.nikula@intel.com>
This commit is contained in:
Ville Syrjälä
2024-05-03 15:24:29 +03:00
parent 2f1aa210fe
commit f7d5b5ff08

View File

@@ -797,6 +797,36 @@ struct bdb_driver_persistence {
u8 persistent_max_config;
} __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
*/