[Intel-gfx] [PATCH 01/11] drm/i915/bios: Extract struct lvds_lfp_data_ptr_table

Jani Nikula jani.nikula at linux.intel.com
Thu Mar 17 18:33:37 UTC 2022


On Thu, 17 Mar 2022, Ville Syrjala <ville.syrjala at linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> All the LFP data table pointers have uniform layout. Turn
> that into a struct.
>
> 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_bios.c     | 10 +++++-----
>  drivers/gpu/drm/i915/display/intel_vbt_defs.h | 13 +++++++------
>  2 files changed, 12 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
> index c7afe19dd44a..31fce7c92a28 100644
> --- a/drivers/gpu/drm/i915/display/intel_bios.c
> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
> @@ -180,11 +180,11 @@ get_lvds_dvo_timing(const struct bdb_lvds_lfp_data *lvds_lfp_data,
>  	 */
>  
>  	int lfp_data_size =
> -		lvds_lfp_data_ptrs->ptr[1].dvo_timing_offset -
> -		lvds_lfp_data_ptrs->ptr[0].dvo_timing_offset;
> +		lvds_lfp_data_ptrs->ptr[1].dvo_timing.offset -
> +		lvds_lfp_data_ptrs->ptr[0].dvo_timing.offset;
>  	int dvo_timing_offset =
> -		lvds_lfp_data_ptrs->ptr[0].dvo_timing_offset -
> -		lvds_lfp_data_ptrs->ptr[0].fp_timing_offset;
> +		lvds_lfp_data_ptrs->ptr[0].dvo_timing.offset -
> +		lvds_lfp_data_ptrs->ptr[0].fp_timing.offset;
>  	char *entry = (char *)lvds_lfp_data->data + lfp_data_size * index;
>  
>  	return (struct lvds_dvo_timing *)(entry + dvo_timing_offset);
> @@ -205,7 +205,7 @@ get_lvds_fp_timing(const struct bdb_header *bdb,
>  
>  	if (index >= ARRAY_SIZE(ptrs->ptr))
>  		return NULL;
> -	ofs = ptrs->ptr[index].fp_timing_offset;
> +	ofs = ptrs->ptr[index].fp_timing.offset;
>  	if (ofs < data_ofs ||
>  	    ofs + sizeof(struct lvds_fp_timing) > data_ofs + data_size)
>  		return NULL;
> diff --git a/drivers/gpu/drm/i915/display/intel_vbt_defs.h b/drivers/gpu/drm/i915/display/intel_vbt_defs.h
> index e0508990df48..d727fcd6cdab 100644
> --- a/drivers/gpu/drm/i915/display/intel_vbt_defs.h
> +++ b/drivers/gpu/drm/i915/display/intel_vbt_defs.h
> @@ -722,15 +722,16 @@ struct bdb_lvds_options {
>  /*
>   * Block 41 - LFP Data Table Pointers
>   */
> +struct lvds_lfp_data_ptr_table {
> +	u16 offset; /* offsets are from start of bdb */
> +	u8 table_size;
> +} __packed;
>  
>  /* LFP pointer table contains entries to the struct below */
>  struct lvds_lfp_data_ptr {
> -	u16 fp_timing_offset; /* offsets are from start of bdb */
> -	u8 fp_table_size;
> -	u16 dvo_timing_offset;
> -	u8 dvo_table_size;
> -	u16 panel_pnp_id_offset;
> -	u8 pnp_table_size;
> +	struct lvds_lfp_data_ptr_table fp_timing;
> +	struct lvds_lfp_data_ptr_table dvo_timing;
> +	struct lvds_lfp_data_ptr_table panel_pnp_id;
>  } __packed;
>  
>  struct bdb_lvds_lfp_data_ptrs {

-- 
Jani Nikula, Intel Open Source Graphics Center


More information about the Intel-gfx mailing list