static int ivb_color_check(struct intel_crtc_state *crtc_state)
 {
+       struct drm_i915_private *dev_priv = to_i915(crtc_state->uapi.crtc->dev);
        bool limited_color_range = ilk_csc_limited_range(crtc_state);
        int ret;
 
        if (ret)
                return ret;
 
+       if (crtc_state->output_format != INTEL_OUTPUT_FORMAT_RGB &&
+           crtc_state->hw.ctm) {
+               drm_dbg_kms(&dev_priv->drm,
+                           "YCBCR and CTM together are not possible\n");
+               return -EINVAL;
+       }
+
        crtc_state->gamma_enable =
                (crtc_state->hw.gamma_lut ||
                 crtc_state->hw.degamma_lut) &&
 
 static int glk_color_check(struct intel_crtc_state *crtc_state)
 {
+       struct drm_i915_private *dev_priv = to_i915(crtc_state->uapi.crtc->dev);
        int ret;
 
        ret = check_luts(crtc_state);
        if (ret)
                return ret;
 
+       if (crtc_state->output_format != INTEL_OUTPUT_FORMAT_RGB &&
+           crtc_state->hw.ctm) {
+               drm_dbg_kms(&dev_priv->drm,
+                           "YCBCR and CTM together are not possible\n");
+               return -EINVAL;
+       }
+
        crtc_state->gamma_enable =
                crtc_state->hw.gamma_lut &&
                !crtc_state->c8_planes;
 
                return -EINVAL;
        }
 
-       if ((pipe_config->output_format == INTEL_OUTPUT_FORMAT_YCBCR420 ||
-            pipe_config->output_format == INTEL_OUTPUT_FORMAT_YCBCR444) &&
-            pipe_config->hw.ctm) {
-               /*
-                * There is only one pipe CSC unit per pipe, and we need that
-                * for output conversion from RGB->YCBCR. So if CTM is already
-                * applied we can't support YCBCR420 output.
-                */
-               drm_dbg_kms(&dev_priv->drm,
-                           "YCBCR420 and CTM together are not possible\n");
-               return -EINVAL;
-       }
-
        /*
         * Pipe horizontal size must be even in:
         * - DVO ganged mode