[PATCH 18/58] drm/i915: simplify intel_crtc_prepare_encoders

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



- We don't have the ->get_crtc callback.
- Call intel_encoder->disable directly.

Signed-Off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
---
 drivers/gpu/drm/i915/intel_display.c | 25 ++++---------------------
 1 file changed, 4 insertions(+), 21 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 3e119a6..343f991 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -6636,31 +6636,14 @@ intel_crtc_helper_disable(struct drm_crtc *crtc)
 }
 
 static void
-intel_encoder_disable_helper(struct drm_encoder *encoder)
-{
-	struct drm_encoder_helper_funcs *encoder_funcs = encoder->helper_private;
-
-	if (encoder_funcs->disable)
-		(*encoder_funcs->disable)(encoder);
-	else
-		(*encoder_funcs->dpms)(encoder, DRM_MODE_DPMS_OFF);
-}
-
-static void
 intel_crtc_prepare_encoders(struct drm_device *dev)
 {
-	struct drm_encoder_helper_funcs *encoder_funcs;
-	struct drm_encoder *encoder;
+	struct intel_encoder *encoder;
 
-	list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) {
-		encoder_funcs = encoder->helper_private;
+	list_for_each_entry(encoder, &dev->mode_config.encoder_list, base.head) {
 		/* Disable unused encoders */
-		if (encoder->crtc == NULL)
-			intel_encoder_disable_helper(encoder);
-		/* Disable encoders whose CRTC is about to change */
-		if (encoder_funcs->get_crtc &&
-		    encoder->crtc != (*encoder_funcs->get_crtc)(encoder))
-			intel_encoder_disable_helper(encoder);
+		if (encoder->base.crtc == NULL)
+			encoder->disable(encoder);
 	}
 }
 
-- 
1.7.11.2



[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux