Merge tag 'drm-intel-fixes-2015-07-15' into drm-intel-next-queued
[firefly-linux-kernel-4.4.55.git] / drivers / gpu / drm / i915 / intel_hdmi.c
index f5c60d6febeeaf277d64f47e2855b4fcf670f09d..70bad5bf1d48b9cc1c72afa360475487bf9b152e 100644 (file)
@@ -1174,9 +1174,12 @@ hdmi_port_clock_valid(struct intel_hdmi *hdmi,
        if (clock > hdmi_port_clock_limit(hdmi, respect_dvi_limit))
                return MODE_CLOCK_HIGH;
 
-       /* CHV/BXT DPLL can't generate 216-240 MHz */
-       if ((IS_CHERRYVIEW(dev) || IS_BROXTON(dev)) &&
-           clock > 216000 && clock < 240000)
+       /* BXT DPLL can't generate 223-240 MHz */
+       if (IS_BROXTON(dev) && clock > 223333 && clock < 240000)
+               return MODE_CLOCK_RANGE;
+
+       /* CHV DPLL can't generate 216-240 MHz */
+       if (IS_CHERRYVIEW(dev) && clock > 216000 && clock < 240000)
                return MODE_CLOCK_RANGE;
 
        return MODE_OK;
@@ -1287,8 +1290,7 @@ bool intel_hdmi_compute_config(struct intel_encoder *encoder,
         */
        if (pipe_config->pipe_bpp > 8*3 && pipe_config->has_hdmi_sink &&
            hdmi_port_clock_valid(intel_hdmi, clock_12bpc, false) == MODE_OK &&
-           hdmi_12bpc_possible(pipe_config) &&
-           0 /* FIXME 12bpc support totally broken */) {
+           hdmi_12bpc_possible(pipe_config)) {
                DRM_DEBUG_KMS("picking bpc to 12 for HDMI output\n");
                desired_bpp = 12*3;