diff options
author | Maxime Ripard <maxime@cerno.tech> | 2022-01-20 18:16:12 +0300 |
---|---|---|
committer | Maxime Ripard <maxime@cerno.tech> | 2022-01-25 12:01:24 +0300 |
commit | 4adc33f36d80489339f1b43dfeee96bb9ea8e459 (patch) | |
tree | 9eb5b00bdf8f1524774a43fa60f4bbdb31bcc183 /drivers/gpu/drm/amd/display | |
parent | 75478b3b393bcbdca4e6da76fe3a9f1a4133ec5d (diff) | |
download | linux-4adc33f36d80489339f1b43dfeee96bb9ea8e459.tar.xz |
drm/edid: Split deep color modes between RGB and YUV444
The current code assumes that the RGB444 and YUV444 formats are the
same, but the HDMI 2.0 specification states that:
The three DC_XXbit bits above only indicate support for RGB 4:4:4 at
that pixel size. Support for YCBCR 4:4:4 in Deep Color modes is
indicated with the DC_Y444 bit. If DC_Y444 is set, then YCBCR 4:4:4
is supported for all modes indicated by the DC_XXbit flags.
So if we have YUV444 support and any DC_XXbit flag set but the DC_Y444
flag isn't, we'll assume that we support that deep colour mode for
YUV444 which breaks the specification.
In order to fix this, let's split the edid_hdmi_dc_modes field in struct
drm_display_info into two fields, one for RGB444 and one for YUV444.
Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Fixes: d0c94692e0a3 ("drm/edid: Parse and handle HDMI deep color modes.")
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220120151625.594595-4-maxime@cerno.tech
Diffstat (limited to 'drivers/gpu/drm/amd/display')
0 files changed, 0 insertions, 0 deletions