Message ID | 1499094713-15439-1-git-send-email-shashank.sharma@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, Jul 03, 2017 at 08:41:53PM +0530, Shashank Sharma wrote: > CEA-861-F introduces extended tag codes for EDID extension blocks, > which indicates the actual type of the data block. The code for > using exteded tag is 0x7, whereas in the existing code, the > corresponding macro is named as "VIDEO_CAPABILITY_BLOCK" > > This patch renames the macro and usages from "VIDEO_CAPABILITY_BLOCK" > to "CEA_EXTENDED_TAG" Hmmm, no it doesn't. It renames it to "USE_EXTENDED_TAG". > V2: Add extended tag code check for video capabilitiy block (ville) > V3: Ville: > - Use suggested names for macros > - Check the block length first, before checking the extended tag > > Cc: Ville Syrjala <ville.syrjala@linux.intel.com> > Signed-off-by: Shashank Sharma <shashank.sharma@intel.com> > --- > drivers/gpu/drm/drm_edid.c | 15 ++++++++++++--- > 1 file changed, 12 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c > index 2e55599..8ae0c92 100644 > --- a/drivers/gpu/drm/drm_edid.c > +++ b/drivers/gpu/drm/drm_edid.c > @@ -2566,7 +2566,8 @@ add_detailed_modes(struct drm_connector *connector, struct edid *edid, > #define VIDEO_BLOCK 0x02 > #define VENDOR_BLOCK 0x03 > #define SPEAKER_BLOCK 0x04 > -#define VIDEO_CAPABILITY_BLOCK 0x07 > +#define USE_EXTENDED_TAG 0x07 > +#define EXT_VIDEO_CAPABILITY_BLOCK 0x00 > #define EDID_BASIC_AUDIO (1 << 6) > #define EDID_CEA_YCRCB444 (1 << 5) > #define EDID_CEA_YCRCB422 (1 << 4) > @@ -3218,6 +3219,12 @@ cea_db_payload_len(const u8 *db) > } > > static int > +cea_db_extended_tag(const u8 *db) > +{ > + return db[1]; > +} > + > +static int > cea_db_tag(const u8 *db) > { > return db[0] >> 5; > @@ -3793,8 +3800,10 @@ bool drm_rgb_quant_range_selectable(struct edid *edid) > return false; > > for_each_cea_db(edid_ext, i, start, end) { > - if (cea_db_tag(&edid_ext[i]) == VIDEO_CAPABILITY_BLOCK && > - cea_db_payload_len(&edid_ext[i]) == 2) { > + if (cea_db_tag(&edid_ext[i]) == USE_EXTENDED_TAG && > + cea_db_payload_len(&edid_ext[i]) == 2 && > + cea_db_extended_tag(&edid_ext[i]) == > + EXT_VIDEO_CAPABILITY_BLOCK) { > DRM_DEBUG_KMS("CEA VCDB 0x%02x\n", edid_ext[i + 2]); > return edid_ext[i + 2] & EDID_CEA_VCDB_QS; > } > -- > 2.7.4 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Regards Shashank On 7/3/2017 9:14 PM, David Weinehall wrote: > On Mon, Jul 03, 2017 at 08:41:53PM +0530, Shashank Sharma wrote: >> CEA-861-F introduces extended tag codes for EDID extension blocks, >> which indicates the actual type of the data block. The code for >> using exteded tag is 0x7, whereas in the existing code, the >> corresponding macro is named as "VIDEO_CAPABILITY_BLOCK" >> >> This patch renames the macro and usages from "VIDEO_CAPABILITY_BLOCK" >> to "CEA_EXTENDED_TAG" > Hmmm, no it doesn't. It renames it to "USE_EXTENDED_TAG". Well, true :-), will cover this up. - Shashank >> V2: Add extended tag code check for video capabilitiy block (ville) >> V3: Ville: >> - Use suggested names for macros >> - Check the block length first, before checking the extended tag >> >> Cc: Ville Syrjala <ville.syrjala@linux.intel.com> >> Signed-off-by: Shashank Sharma <shashank.sharma@intel.com> >> --- >> drivers/gpu/drm/drm_edid.c | 15 ++++++++++++--- >> 1 file changed, 12 insertions(+), 3 deletions(-) >> >> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c >> index 2e55599..8ae0c92 100644 >> --- a/drivers/gpu/drm/drm_edid.c >> +++ b/drivers/gpu/drm/drm_edid.c >> @@ -2566,7 +2566,8 @@ add_detailed_modes(struct drm_connector *connector, struct edid *edid, >> #define VIDEO_BLOCK 0x02 >> #define VENDOR_BLOCK 0x03 >> #define SPEAKER_BLOCK 0x04 >> -#define VIDEO_CAPABILITY_BLOCK 0x07 >> +#define USE_EXTENDED_TAG 0x07 >> +#define EXT_VIDEO_CAPABILITY_BLOCK 0x00 >> #define EDID_BASIC_AUDIO (1 << 6) >> #define EDID_CEA_YCRCB444 (1 << 5) >> #define EDID_CEA_YCRCB422 (1 << 4) >> @@ -3218,6 +3219,12 @@ cea_db_payload_len(const u8 *db) >> } >> >> static int >> +cea_db_extended_tag(const u8 *db) >> +{ >> + return db[1]; >> +} >> + >> +static int >> cea_db_tag(const u8 *db) >> { >> return db[0] >> 5; >> @@ -3793,8 +3800,10 @@ bool drm_rgb_quant_range_selectable(struct edid *edid) >> return false; >> >> for_each_cea_db(edid_ext, i, start, end) { >> - if (cea_db_tag(&edid_ext[i]) == VIDEO_CAPABILITY_BLOCK && >> - cea_db_payload_len(&edid_ext[i]) == 2) { >> + if (cea_db_tag(&edid_ext[i]) == USE_EXTENDED_TAG && >> + cea_db_payload_len(&edid_ext[i]) == 2 && >> + cea_db_extended_tag(&edid_ext[i]) == >> + EXT_VIDEO_CAPABILITY_BLOCK) { >> DRM_DEBUG_KMS("CEA VCDB 0x%02x\n", edid_ext[i + 2]); >> return edid_ext[i + 2] & EDID_CEA_VCDB_QS; >> } >> -- >> 2.7.4 >> >> _______________________________________________ >> Intel-gfx mailing list >> Intel-gfx@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index 2e55599..8ae0c92 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c @@ -2566,7 +2566,8 @@ add_detailed_modes(struct drm_connector *connector, struct edid *edid, #define VIDEO_BLOCK 0x02 #define VENDOR_BLOCK 0x03 #define SPEAKER_BLOCK 0x04 -#define VIDEO_CAPABILITY_BLOCK 0x07 +#define USE_EXTENDED_TAG 0x07 +#define EXT_VIDEO_CAPABILITY_BLOCK 0x00 #define EDID_BASIC_AUDIO (1 << 6) #define EDID_CEA_YCRCB444 (1 << 5) #define EDID_CEA_YCRCB422 (1 << 4) @@ -3218,6 +3219,12 @@ cea_db_payload_len(const u8 *db) } static int +cea_db_extended_tag(const u8 *db) +{ + return db[1]; +} + +static int cea_db_tag(const u8 *db) { return db[0] >> 5; @@ -3793,8 +3800,10 @@ bool drm_rgb_quant_range_selectable(struct edid *edid) return false; for_each_cea_db(edid_ext, i, start, end) { - if (cea_db_tag(&edid_ext[i]) == VIDEO_CAPABILITY_BLOCK && - cea_db_payload_len(&edid_ext[i]) == 2) { + if (cea_db_tag(&edid_ext[i]) == USE_EXTENDED_TAG && + cea_db_payload_len(&edid_ext[i]) == 2 && + cea_db_extended_tag(&edid_ext[i]) == + EXT_VIDEO_CAPABILITY_BLOCK) { DRM_DEBUG_KMS("CEA VCDB 0x%02x\n", edid_ext[i + 2]); return edid_ext[i + 2] & EDID_CEA_VCDB_QS; }
CEA-861-F introduces extended tag codes for EDID extension blocks, which indicates the actual type of the data block. The code for using exteded tag is 0x7, whereas in the existing code, the corresponding macro is named as "VIDEO_CAPABILITY_BLOCK" This patch renames the macro and usages from "VIDEO_CAPABILITY_BLOCK" to "CEA_EXTENDED_TAG" V2: Add extended tag code check for video capabilitiy block (ville) V3: Ville: - Use suggested names for macros - Check the block length first, before checking the extended tag Cc: Ville Syrjala <ville.syrjala@linux.intel.com> Signed-off-by: Shashank Sharma <shashank.sharma@intel.com> --- drivers/gpu/drm/drm_edid.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-)