drm/i915/icl: Fix setting 10 bit deep color mode
authorAditya Swarup <aditya.swarup@intel.com>
Tue, 7 May 2019 18:18:56 +0000 (11:18 -0700)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 7 May 2019 18:49:57 +0000 (21:49 +0300)
There is a bug in hdmi_deep_color_possible() - we compare pipe_bpp
<= 8*3 which returns true every time for hdmi_deep_color_possible 12 bit
deep color mode test in intel_hdmi_compute_config().(Even when the
requested color mode is 10 bit through max bpc property)

Comparing pipe_bpp with bpc * 3 takes care of this condition where
requested max bpc is 10 bit, so hdmi_deep_color_possible with 12 bit
returns false when requested max bpc is 10.(Ville)

v2:Add suggested by Ville Syrjälä

Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Aditya Swarup <aditya.swarup@intel.com>
Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Manasi Navare <manasi.d.navare@intel.com>
Cc: Clinton Taylor <Clinton.A.Taylor@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190507181856.16091-1-aditya.swarup@intel.com
drivers/gpu/drm/i915/intel_hdmi.c

index 82a59ec211ceb1ec31d8595fbbf05afbd1311dd7..2a4086cf2692aa672f24c7af41af7cee3873b198 100644 (file)
@@ -2166,7 +2166,7 @@ static bool hdmi_deep_color_possible(const struct intel_crtc_state *crtc_state,
        if (bpc == 10 && INTEL_GEN(dev_priv) < 11)
                return false;
 
-       if (crtc_state->pipe_bpp <= 8*3)
+       if (crtc_state->pipe_bpp < bpc * 3)
                return false;
 
        if (!crtc_state->has_hdmi_sink)