Message ID | 20240503122449.27266-22-ville.syrjala@linux.intel.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | drm/i915/bios: Define (almost) all BDB blocks | expand |
On Fri, 03 May 2024, Ville Syrjala <ville.syrjala@linux.intel.com> wrote: > From: Ville Syrjälä <ville.syrjala@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.syrjala@linux.intel.com> Reviewed-by: Jani Nikula <jani.nikula@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 > */
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 */