From: Ville Syrjälä <ville.syrj...@linux.intel.com>

Define the contents of VBT block 20 (OEM Customizable Modes).
Each entry is either 26 or 28 bytes, depending on the BDB version.

Signed-off-by: Ville Syrjälä <ville.syrj...@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_vbt_defs.h | 24 +++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_vbt_defs.h 
b/drivers/gpu/drm/i915/display/intel_vbt_defs.h
index 30d60835e4d0..a61ae39196b1 100644
--- a/drivers/gpu/drm/i915/display/intel_vbt_defs.h
+++ b/drivers/gpu/drm/i915/display/intel_vbt_defs.h
@@ -897,6 +897,30 @@ struct bdb_display_remove_old {
        struct display_remove_entry_old table[];
 } __packed;
 
+/*
+ * Block 20 - OEM Customizable Modes
+ */
+
+struct oem_mode {
+       u8 enable_in_vbios:1;
+       u8 enable_in_os:1;
+       u8 enable_in_gop:1;                                     /* 207+ */
+       u8 reserved:5;
+       u8 display_flags;                                       /* ???-216 */
+       u16 x_res;
+       u16 y_res;
+       u8 color_depth;
+       u8 refresh_rate;
+       struct bdb_edid_dtd dtd;
+       u16 display_flags_2;                                    /* 217+ */
+} __packed;
+
+struct bdb_oem_custom {
+       u8 num_entries;
+       u8 entry_size;
+       struct oem_mode modes[];
+} __packed;
+
 /*
  * Block 22 - SDVO LVDS General Options
  */
-- 
2.43.2

Reply via email to