[Intel-gfx] [PATCH 50/66] drm/i915: Move the pch fifo underrun handling into hsw_crt_disable

Daniel Vetter daniel.vetter at ffwll.ch
Thu Apr 24 23:55:26 CEST 2014


Yet another pch encoder special case quenched from haswell modeset
code.

Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
---
 drivers/gpu/drm/i915/intel_crt.c     | 11 ++++++++++-
 drivers/gpu/drm/i915/intel_display.c |  2 --
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c
index 9d7135b878c0..0e109325cbcb 100644
--- a/drivers/gpu/drm/i915/intel_crt.c
+++ b/drivers/gpu/drm/i915/intel_crt.c
@@ -347,6 +347,14 @@ static void intel_disable_crt(struct intel_encoder *encoder)
 	intel_crt_set_dpms(encoder, DRM_MODE_DPMS_OFF);
 }
 
+static void hsw_crt_disable(struct intel_encoder *encoder)
+{
+	intel_crt_set_dpms(encoder, DRM_MODE_DPMS_OFF);
+
+	intel_set_pch_fifo_underrun_reporting(encoder->base.dev,
+					      TRANSCODER_A, false);
+}
+
 static void intel_enable_crt(struct intel_encoder *encoder)
 {
 	struct intel_crt *crt = intel_encoder_to_crt(encoder);
@@ -1149,7 +1157,6 @@ void intel_crt_init(struct drm_device *dev)
 		crt->adpa_reg = ADPA;
 
 	crt->base.compute_config = intel_crt_compute_config;
-	crt->base.disable = intel_disable_crt;
 	if (I915_HAS_HOTPLUG(dev))
 		crt->base.hpd_pin = HPD_CRT;
 	if (HAS_DDI(dev)) {
@@ -1157,10 +1164,12 @@ void intel_crt_init(struct drm_device *dev)
 		crt->base.get_hw_state = hsw_crt_get_hw_state;
 		crt->base.pre_enable = hsw_crt_pre_enable;
 		crt->base.enable = hsw_crt_enable;
+		crt->base.disable = hsw_crt_disable;
 	} else {
 		crt->base.get_config = intel_crt_get_config;
 		crt->base.get_hw_state = intel_crt_get_hw_state;
 		crt->base.enable = intel_enable_crt;
+		crt->base.disable = intel_disable_crt;
 	}
 	intel_connector->get_hw_state = intel_connector_get_hw_state;
 	intel_connector->unregister = intel_connector_unregister;
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 26b2eceb0d63..84f5cbd3863c 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -3844,8 +3844,6 @@ static void haswell_crtc_disable(struct drm_crtc *crtc)
 		encoder->disable(encoder);
 	}
 
-	if (intel_crtc->config.has_pch_encoder)
-		intel_set_pch_fifo_underrun_reporting(dev, TRANSCODER_A, false);
 	intel_disable_pipe(dev_priv, pipe);
 
 	intel_ddi_disable_transcoder_func(dev_priv, cpu_transcoder);
-- 
1.8.1.4




More information about the Intel-gfx mailing list