From: Ville Syrj?l? <ville.syrj...@linux.intel.com>

Check primary_disabled state before enabling the primary plane in
crtc_enable() hooks.

Signed-off-by: Ville Syrj?l? <ville.syrjala at linux.intel.com>
---
 drivers/gpu/drm/i915/intel_display.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index 7394aca..957907c 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -3349,7 +3349,8 @@ static void ironlake_crtc_enable(struct drm_crtc *crtc)
        intel_crtc_load_lut(crtc);

        intel_enable_pipe(dev_priv, pipe, is_pch_port);
-       intel_enable_plane(dev_priv, plane, pipe);
+       if (!intel_crtc->primary_disabled)
+               intel_enable_plane(dev_priv, plane, pipe);

        if (is_pch_port)
                ironlake_pch_enable(crtc);
@@ -3429,7 +3430,8 @@ static void haswell_crtc_enable(struct drm_crtc *crtc)
        intel_ddi_enable_pipe_func(crtc);

        intel_enable_pipe(dev_priv, pipe, is_pch_port);
-       intel_enable_plane(dev_priv, plane, pipe);
+       if (!intel_crtc->primary_disabled)
+               intel_enable_plane(dev_priv, plane, pipe);

        if (is_pch_port)
                lpt_pch_enable(crtc);
@@ -3644,7 +3646,8 @@ static void i9xx_crtc_enable(struct drm_crtc *crtc)

        intel_enable_pll(dev_priv, pipe);
        intel_enable_pipe(dev_priv, pipe, false);
-       intel_enable_plane(dev_priv, plane, pipe);
+       if (!intel_crtc->primary_disabled)
+               intel_enable_plane(dev_priv, plane, pipe);

        intel_crtc_load_lut(crtc);
        intel_update_fbc(dev);
-- 
1.7.8.6

Reply via email to