[Freedreno] [DPU PATCH] drm: Remove duplicate ycbcr420 parsing

Jeykumar Sankaran jsanka at codeaurora.org
Fri Mar 9 00:48:18 UTC 2018


On 2018-02-21 10:30, Sean Paul wrote:
> Introduced in the dpu patch series, this duplicaates the already
> existing do_y420vdb_modes function.
> 
> Signed-off-by: Sean Paul <seanpaul at chromium.org>

Reviewed-by: Jeykumar Sankaran <jsanka at codeaurora.org>

> ---
>  drivers/gpu/drm/drm_edid.c | 77 --------------------------------------
>  1 file changed, 77 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index 825b169ce0e0..ddd537914575 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -98,14 +98,6 @@ struct detailed_mode_closure {
>  #define LEVEL_GTF2	2
>  #define LEVEL_CVT	3
> 
> -/*Enum storing luminance types for HDR blocks in EDID*/
> -enum luminance_value {
> -	NO_LUMINANCE_DATA = 3,
> -	MAXIMUM_LUMINANCE = 4,
> -	FRAME_AVERAGE_LUMINANCE = 5,
> -	MINIMUM_LUMINANCE = 6
> -};
> -
>  static const struct edid_quirk {
>  	char vendor[4];
>  	int product_id;
> @@ -2809,9 +2801,7 @@ add_detailed_modes(struct drm_connector 
> *connector,
> struct edid *edid,
>  #define VIDEO_BLOCK     0x02
>  #define VENDOR_BLOCK    0x03
>  #define SPEAKER_BLOCK	0x04
> -#define HDR_STATIC_METADATA_EXTENDED_DATA_BLOCK 0x06
>  #define USE_EXTENDED_TAG 0x07
> -#define VIDEO_CAPABILITY_BLOCK	0x07
>  #define EXT_VIDEO_CAPABILITY_BLOCK 0x00
>  #define EXT_VIDEO_DATA_BLOCK_420	0x0E
>  #define EXT_VIDEO_CAP_BLOCK_Y420CMDB 0x0F
> @@ -3800,72 +3790,6 @@ drm_parse_hdmi_vsdb_audio(struct drm_connector
> *connector, const u8 *db)
>  		      connector->audio_latency[1]);
>  }
> 
> -static u8 *
> -drm_edid_find_extended_tag_block(struct edid *edid, int blk_id)
> -{
> -	u8 *db = NULL;
> -	u8 *cea = NULL;
> -
> -	if (!edid)
> -		return NULL;
> -
> -	cea = drm_find_cea_extension(edid);
> -
> -	if (cea && cea_revision(cea) >= 3) {
> -		int i, start, end;
> -
> -		if (cea_db_offsets(cea, &start, &end))
> -			return NULL;
> -
> -		for_each_cea_db(cea, i, start, end) {
> -			db = &cea[i];
> -			if ((cea_db_tag(db) == USE_EXTENDED_TAG) &&
> -				(db[1] == blk_id))
> -				return db;
> -		}
> -	}
> -	return NULL;
> -}
> -
> -/*
> - * add_YCbCr420VDB_modes - add the modes found in Ycbcr420 VDB block
> - * @connector: connector corresponding to the HDMI sink
> - * @edid: handle to the EDID structure
> - * Parses the YCbCr420 VDB block and adds the modes to @connector.
> - */
> -static int
> -add_YCbCr420VDB_modes(struct drm_connector *connector, struct edid 
> *edid)
> -{
> -
> -	const u8 *db = NULL;
> -	u32 i = 0;
> -	u32 modes = 0;
> -	u32 video_format = 0;
> -	u8 len = 0;
> -
> -	/*Find the YCbCr420 VDB*/
> -	db = drm_edid_find_extended_tag_block(edid,
> EXT_VIDEO_DATA_BLOCK_420);
> -	/* Offset to byte 3 */
> -	if (db) {
> -		len = db[0] & 0x1F;
> -		db += 2;
> -		for (i = 0; i < len - 1; i++) {
> -			struct drm_display_mode *mode;
> -
> -			video_format = *(db + i) & 0x7F;
> -			mode = drm_display_mode_from_vic_index(connector,
> -					db, len-1, i);
> -			if (mode) {
> -				DRM_DEBUG_KMS("Adding mode for vic =
> %d\n",
> -				video_format);
> -				drm_mode_probed_add(connector, mode);
> -				modes++;
> -			}
> -		}
> -	}
> -	return modes;
> -}
> -
>  static void
>  monitor_name(struct detailed_timing *t, void *data)
>  {
> @@ -4778,7 +4702,6 @@ int drm_add_edid_modes(struct drm_connector
> *connector, struct edid *edid)
>  	num_modes += add_cea_modes(connector, edid);
>  	num_modes += add_alternate_cea_modes(connector, edid);
>  	num_modes += add_displayid_detailed_modes(connector, edid);
> -	num_modes += add_YCbCr420VDB_modes(connector, edid);
>  	if (edid->features & DRM_EDID_FEATURE_DEFAULT_GTF)
>  		num_modes += add_inferred_modes(connector, edid);

-- 
Jeykumar S


More information about the Freedreno mailing list