[PATCH 04/17] drm/i915: Move shared dpll disabling into *_crtc_disable() hooks

Ander Conselvan de Oliveira ander.conselvan.de.oliveira at intel.com
Tue May 3 12:42:59 UTC 2016


Move the disabling of shared dplls into the crtc disable hooks. This
allows some flexibility on when to disable the dpll in the platform
specific code and will be necessary to make VLV/CHV plls shared.

Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira at intel.com>
---
 drivers/gpu/drm/i915/intel_display.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 49efc84..a1e589e 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -5016,6 +5016,8 @@ static void ironlake_crtc_disable(struct drm_crtc *crtc)
 
 	intel_set_cpu_fifo_underrun_reporting(dev_priv, pipe, true);
 	intel_set_pch_fifo_underrun_reporting(dev_priv, pipe, true);
+
+	intel_disable_shared_dpll(intel_crtc);
 }
 
 static void haswell_crtc_disable(struct drm_crtc *crtc)
@@ -5068,6 +5070,8 @@ static void haswell_crtc_disable(struct drm_crtc *crtc)
 		intel_set_pch_fifo_underrun_reporting(dev_priv, TRANSCODER_A,
 						      true);
 	}
+
+	intel_disable_shared_dpll(intel_crtc);
 }
 
 static void i9xx_pfit_enable(struct intel_crtc *crtc)
@@ -6269,7 +6273,6 @@ static void intel_crtc_disable_noatomic(struct drm_crtc *crtc)
 
 	intel_fbc_disable(intel_crtc);
 	intel_update_watermarks(crtc);
-	intel_disable_shared_dpll(intel_crtc);
 
 	domains = intel_crtc->enabled_power_domains;
 	for_each_power_domain(domain, domains)
@@ -13615,7 +13618,6 @@ static int intel_atomic_commit(struct drm_device *dev,
 			dev_priv->display.crtc_disable(crtc);
 			intel_crtc->active = false;
 			intel_fbc_disable(intel_crtc);
-			intel_disable_shared_dpll(intel_crtc);
 
 			/*
 			 * Underruns don't always raise
-- 
2.4.11



More information about the Intel-gfx-trybot mailing list