| From 9068e02f58740778d8270840657f1e250a2cc60f Mon Sep 17 00:00:00 2001 |
| From: Clint Taylor <clinton.a.taylor@intel.com> |
| Date: Fri, 5 Oct 2018 14:52:15 -0700 |
| Subject: drm/edid: VSDB yCBCr420 Deep Color mode bit definitions |
| |
| From: Clint Taylor <clinton.a.taylor@intel.com> |
| |
| commit 9068e02f58740778d8270840657f1e250a2cc60f upstream. |
| |
| HDMI Forum VSDB YCBCR420 deep color capability bits are 2:0. Correct |
| definitions in the header for the mask to work correctly. |
| |
| Fixes: e6a9a2c3dc43 ("drm/edid: parse ycbcr 420 deep color information") |
| Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107893 |
| Cc: <stable@vger.kernel.org> # v4.14+ |
| Signed-off-by: Clint Taylor <clinton.a.taylor@intel.com> |
| Reviewed-by: Jani Nikula <jani.nikula@intel.com> |
| Reviewed-by: Shashank Sharma <shashank.sharma@intel.com> |
| Signed-off-by: Jani Nikula <jani.nikula@intel.com> |
| Link: https://patchwork.freedesktop.org/patch/msgid/1538776335-12569-1-git-send-email-clinton.a.taylor@intel.com |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/gpu/drm/drm_edid.c | 2 +- |
| include/drm/drm_edid.h | 6 +++--- |
| 2 files changed, 4 insertions(+), 4 deletions(-) |
| |
| --- a/drivers/gpu/drm/drm_edid.c |
| +++ b/drivers/gpu/drm/drm_edid.c |
| @@ -4223,7 +4223,7 @@ static void drm_parse_ycbcr420_deep_colo |
| struct drm_hdmi_info *hdmi = &connector->display_info.hdmi; |
| |
| dc_mask = db[7] & DRM_EDID_YCBCR420_DC_MASK; |
| - hdmi->y420_dc_modes |= dc_mask; |
| + hdmi->y420_dc_modes = dc_mask; |
| } |
| |
| static void drm_parse_hdmi_forum_vsdb(struct drm_connector *connector, |
| --- a/include/drm/drm_edid.h |
| +++ b/include/drm/drm_edid.h |
| @@ -214,9 +214,9 @@ struct detailed_timing { |
| #define DRM_EDID_HDMI_DC_Y444 (1 << 3) |
| |
| /* YCBCR 420 deep color modes */ |
| -#define DRM_EDID_YCBCR420_DC_48 (1 << 6) |
| -#define DRM_EDID_YCBCR420_DC_36 (1 << 5) |
| -#define DRM_EDID_YCBCR420_DC_30 (1 << 4) |
| +#define DRM_EDID_YCBCR420_DC_48 (1 << 2) |
| +#define DRM_EDID_YCBCR420_DC_36 (1 << 1) |
| +#define DRM_EDID_YCBCR420_DC_30 (1 << 0) |
| #define DRM_EDID_YCBCR420_DC_MASK (DRM_EDID_YCBCR420_DC_48 | \ |
| DRM_EDID_YCBCR420_DC_36 | \ |
| DRM_EDID_YCBCR420_DC_30) |