diff mbox

[18/58] drm/i915: simplify intel_crtc_prepare_encoders

Message ID 1345403595-9678-19-git-send-email-daniel.vetter@ffwll.ch (mailing list archive)
State Accepted
Headers show

Commit Message

Daniel Vetter Aug. 19, 2012, 7:12 p.m. UTC
- We don't have the ->get_crtc callback.
- Call intel_encoder->disable directly.

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

Comments

Jesse Barnes Sept. 4, 2012, 8:20 p.m. UTC | #1
On Sun, 19 Aug 2012 21:12:35 +0200
Daniel Vetter <daniel.vetter@ffwll.ch> wrote:

> - We don't have the ->get_crtc callback.
> - Call intel_encoder->disable directly.
> 
> Signed-Off-by: Daniel Vetter <daniel.vetter@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);
>  	}
>  }
>  

Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
diff mbox

Patch

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);
 	}
 }