[Intel-gfx] [PATCH 1/2] drm/i915: move HSW DDI pll enabling to haswell_crtc_enable

Paulo Zanoni przanoni at gmail.com
Fri May 23 16:51:24 CEST 2014


From: Paulo Zanoni <paulo.r.zanoni at intel.com>

Now that we moved all the register writing to haswell_crtc_enable, we
can also move the PLL enabling there. This is the last step to do
before allowing runtime PM on DPMS.

Daniel has some patches to do this while also moving all the HSW PLL
code to the shared DPLL structs, but while we still discuss the color
of those patches, we can apply this quick one and at least get runtime
PM on DPMS running in the meantime.

Signed-off-by: Paulo Zanoni <paulo.r.zanoni 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 3da73ef..1ea4fbe 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -4052,6 +4052,8 @@ static void haswell_crtc_enable(struct drm_crtc *crtc)
 	if (intel_crtc->active)
 		return;
 
+	intel_ddi_pll_enable(intel_crtc);
+
 	if (intel_crtc->config.has_dp_encoder)
 		intel_dp_set_m_n(intel_crtc);
 
@@ -4243,6 +4245,8 @@ static void haswell_crtc_disable(struct drm_crtc *crtc)
 	intel_update_fbc(dev);
 	intel_edp_psr_update(dev);
 	mutex_unlock(&dev->struct_mutex);
+
+	intel_ddi_put_crtc_pll(crtc);
 }
 
 static void ironlake_crtc_off(struct drm_crtc *crtc)
@@ -4253,7 +4257,6 @@ static void ironlake_crtc_off(struct drm_crtc *crtc)
 
 static void haswell_crtc_off(struct drm_crtc *crtc)
 {
-	intel_ddi_put_crtc_pll(crtc);
 }
 
 static void i9xx_pfit_enable(struct intel_crtc *crtc)
@@ -7471,7 +7474,6 @@ static int haswell_crtc_mode_set(struct drm_crtc *crtc,
 
 	if (!intel_ddi_pll_select(intel_crtc))
 		return -EINVAL;
-	intel_ddi_pll_enable(intel_crtc);
 
 	intel_crtc->lowfreq_avail = false;
 
-- 
1.9.0




More information about the Intel-gfx mailing list