struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
        struct drm_i915_private *i915 = to_i915(crtc->base.dev);
 
-       return i915->display.get_pipe_config(crtc, crtc_state);
+       if (!i915->display.get_pipe_config(crtc, crtc_state))
+               return false;
+
+       crtc_state->hw.active = true;
+
+       return true;
 }
 
 static u32 intel_cursor_base(const struct intel_plane_state *plane_state)
 
        pipe_config->hw.enable = new_crtc_state->hw.enable;
 
-       pipe_config->hw.active = intel_crtc_get_pipe_config(pipe_config);
+       intel_crtc_get_pipe_config(pipe_config);
 
        /* we keep both pipes enabled on 830 */
        if (IS_I830(dev_priv) && pipe_config->hw.active)
                intel_crtc_free_hw_state(crtc_state);
                intel_crtc_state_reset(crtc_state, crtc);
 
-               crtc_state->hw.active = crtc_state->hw.enable =
-                       intel_crtc_get_pipe_config(crtc_state);
+               intel_crtc_get_pipe_config(crtc_state);
+
+               crtc_state->hw.enable = crtc_state->hw.active;
 
                crtc->base.enabled = crtc_state->hw.enable;
                crtc->active = crtc_state->hw.active;