On Fri, 03 May 2024, Ville Syrjala <ville.syrj...@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrj...@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.syrj...@linux.intel.com>

Reviewed-by: Jani Nikula <jani.nik...@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

Reply via email to