[Freedreno] [DPU PATCH] drm: Remove duplicate ycbcr420 parsing
abhinavk at codeaurora.org
abhinavk at codeaurora.org
Fri Mar 9 00:49:53 UTC 2018
On 2018-03-08 16:48, Jeykumar Sankaran wrote:
> 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>
Reviewed-by: Abhinav Kumar <abhinavk 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);
More information about the Freedreno
mailing list