diff mbox series

[21/35] drm/i915/bios: Define VBT block 20 (OEM Customizable Modes) contents

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

Commit Message

Ville Syrjala May 3, 2024, 12:24 p.m. UTC
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>
---
 drivers/gpu/drm/i915/display/intel_vbt_defs.h | 24 +++++++++++++++++++
 1 file changed, 24 insertions(+)

Comments

Jani Nikula May 6, 2024, 9:35 a.m. UTC | #1
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 mbox series

Patch

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
  */