[PATCH 35/35] drm/i915/bios: Define VBT block 253 (PRD Table) contents

Jani Nikula jani.nikula at linux.intel.com
Mon May 6 09:45:58 UTC 2024


On Fri, 03 May 2024, Ville Syrjala <ville.syrjala at linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> Define the contents of VBT block 253 (PRD Table).
>
> Unfortunately the block has two definitions, with the cutoff
> supposedly happening on ICL vs. TGL. Also according to some
> notes it might be that the VBIOS (if that's still a thing)
> still uses the old definition even on TGL+. Quite the mess.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

Reviewed-by: Jani Nikula <jani.nikula at intel.com>

> ---
>  drivers/gpu/drm/i915/display/intel_vbt_defs.h | 26 +++++++++++++++++++
>  1 file changed, 26 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_vbt_defs.h b/drivers/gpu/drm/i915/display/intel_vbt_defs.h
> index 338f6133bb1e..9d5b87ff1728 100644
> --- a/drivers/gpu/drm/i915/display/intel_vbt_defs.h
> +++ b/drivers/gpu/drm/i915/display/intel_vbt_defs.h
> @@ -189,6 +189,7 @@ enum bdb_block_id {
>  	BDB_VSWING_PREEMPH		= 57, /* 218+ */
>  	BDB_GENERIC_DTD			= 58, /* 229+ */
>  	BDB_INT15_HOOK			= 252, /* VBIOS only */
> +	BDB_PRD_TABLE			= 253,
>  	BDB_SKIP			= 254, /* VBIOS only */
>  };
>  
> @@ -1576,4 +1577,29 @@ struct bdb_generic_dtd {
>  	struct generic_dtd_entry dtd[];	/* up to 24 DTD's */
>  } __packed;
>  
> +/*
> + * Block 253 - PRD Table
> + */
> +
> +struct prd_entry_old {
> +	u8 displays_attached;
> +	u8 display_in_pipe_a;
> +	u8 display_in_pipe_b;
> +} __packed;
> +
> +struct bdb_prd_table_old {
> +	struct prd_entry_old list[0];				/* ???-216 */
> +	u16 num_entries;					/* ???-216 */
> +} __packed;
> +
> +struct prd_entry_new {
> +	u16 primary_display;
> +	u16 secondary_display;
> +} __packed;
> +
> +struct bdb_prd_table_new {
> +	u16 num_entries;					/* 217+ */
> +	struct prd_entry_new list[];				/* 217+ */
> +} __packed;
> +
>  #endif /* _INTEL_VBT_DEFS_H_ */

-- 
Jani Nikula, Intel


More information about the Intel-gfx mailing list