diff mbox

drm: Remove bridge support from legacy helpers

Message ID 20180117172703.30701-1-laurent.pinchart+renesas@ideasonboard.com (mailing list archive)
State New, archived
Headers show

Commit Message

Laurent Pinchart Jan. 17, 2018, 5:27 p.m. UTC
DRM bridges are only used by atomic drivers, and none of them use the
legacy helpers. Drop bridge support from those helpers to prepare for
making the bridge operations atomic-aware.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
 drivers/gpu/drm/drm_crtc_helper.c | 32 --------------------------------
 1 file changed, 32 deletions(-)

Comments

Sean Paul Jan. 17, 2018, 5:40 p.m. UTC | #1
On Wed, Jan 17, 2018 at 07:27:03PM +0200, Laurent Pinchart wrote:
> DRM bridges are only used by atomic drivers, and none of them use the
> legacy helpers. Drop bridge support from those helpers to prepare for
> making the bridge operations atomic-aware.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>

Reviewed-by: Sean Paul <seanpaul@chromium.org>

> ---
>  drivers/gpu/drm/drm_crtc_helper.c | 32 --------------------------------
>  1 file changed, 32 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c
> index 5a84c3bc915d..d365526be8b5 100644
> --- a/drivers/gpu/drm/drm_crtc_helper.c
> +++ b/drivers/gpu/drm/drm_crtc_helper.c
> @@ -152,14 +152,10 @@ drm_encoder_disable(struct drm_encoder *encoder)
>  	if (!encoder_funcs)
>  		return;
>  
> -	drm_bridge_disable(encoder->bridge);
> -
>  	if (encoder_funcs->disable)
>  		(*encoder_funcs->disable)(encoder);
>  	else if (encoder_funcs->dpms)
>  		(*encoder_funcs->dpms)(encoder, DRM_MODE_DPMS_OFF);
> -
> -	drm_bridge_post_disable(encoder->bridge);
>  }
>  
>  static void __drm_helper_disable_unused_functions(struct drm_device *dev)
> @@ -318,13 +314,6 @@ bool drm_crtc_helper_set_mode(struct drm_crtc *crtc,
>  		if (!encoder_funcs)
>  			continue;
>  
> -		ret = drm_bridge_mode_fixup(encoder->bridge,
> -			mode, adjusted_mode);
> -		if (!ret) {
> -			DRM_DEBUG_KMS("Bridge fixup failed\n");
> -			goto done;
> -		}
> -
>  		encoder_funcs = encoder->helper_private;
>  		if (encoder_funcs->mode_fixup) {
>  			if (!(ret = encoder_funcs->mode_fixup(encoder, mode,
> @@ -356,13 +345,9 @@ bool drm_crtc_helper_set_mode(struct drm_crtc *crtc,
>  		if (!encoder_funcs)
>  			continue;
>  
> -		drm_bridge_disable(encoder->bridge);
> -
>  		/* Disable the encoders as the first thing we do. */
>  		if (encoder_funcs->prepare)
>  			encoder_funcs->prepare(encoder);
> -
> -		drm_bridge_post_disable(encoder->bridge);
>  	}
>  
>  	drm_crtc_prepare_encoders(dev);
> @@ -390,8 +375,6 @@ bool drm_crtc_helper_set_mode(struct drm_crtc *crtc,
>  			mode->base.id, mode->name);
>  		if (encoder_funcs->mode_set)
>  			encoder_funcs->mode_set(encoder, mode, adjusted_mode);
> -
> -		drm_bridge_mode_set(encoder->bridge, mode, adjusted_mode);
>  	}
>  
>  	/* Now enable the clocks, plane, pipe, and connectors that we set up. */
> @@ -406,12 +389,8 @@ bool drm_crtc_helper_set_mode(struct drm_crtc *crtc,
>  		if (!encoder_funcs)
>  			continue;
>  
> -		drm_bridge_pre_enable(encoder->bridge);
> -
>  		if (encoder_funcs->commit)
>  			encoder_funcs->commit(encoder);
> -
> -		drm_bridge_enable(encoder->bridge);
>  	}
>  
>  	/* Calculate and store various constants which
> @@ -809,25 +788,14 @@ static int drm_helper_choose_encoder_dpms(struct drm_encoder *encoder)
>  /* Helper which handles bridge ordering around encoder dpms */
>  static void drm_helper_encoder_dpms(struct drm_encoder *encoder, int mode)
>  {
> -	struct drm_bridge *bridge = encoder->bridge;
>  	const struct drm_encoder_helper_funcs *encoder_funcs;
>  
>  	encoder_funcs = encoder->helper_private;
>  	if (!encoder_funcs)
>  		return;
>  
> -	if (mode == DRM_MODE_DPMS_ON)
> -		drm_bridge_pre_enable(bridge);
> -	else
> -		drm_bridge_disable(bridge);
> -
>  	if (encoder_funcs->dpms)
>  		encoder_funcs->dpms(encoder, mode);
> -
> -	if (mode == DRM_MODE_DPMS_ON)
> -		drm_bridge_enable(bridge);
> -	else
> -		drm_bridge_post_disable(bridge);
>  }
>  
>  static int drm_helper_choose_crtc_dpms(struct drm_crtc *crtc)
> -- 
> Regards,
> 
> Laurent Pinchart
>
Daniel Vetter Jan. 17, 2018, 9:46 p.m. UTC | #2
On Wed, Jan 17, 2018 at 12:40:23PM -0500, Sean Paul wrote:
> On Wed, Jan 17, 2018 at 07:27:03PM +0200, Laurent Pinchart wrote:
> > DRM bridges are only used by atomic drivers, and none of them use the
> > legacy helpers. Drop bridge support from those helpers to prepare for
> > making the bridge operations atomic-aware.
> > 
> > Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> 
> Reviewed-by: Sean Paul <seanpaul@chromium.org>

Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>

Yes I'll ask you again to just push this yourself to drm-misc ...

Cheers, Daniel
> 
> > ---
> >  drivers/gpu/drm/drm_crtc_helper.c | 32 --------------------------------
> >  1 file changed, 32 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c
> > index 5a84c3bc915d..d365526be8b5 100644
> > --- a/drivers/gpu/drm/drm_crtc_helper.c
> > +++ b/drivers/gpu/drm/drm_crtc_helper.c
> > @@ -152,14 +152,10 @@ drm_encoder_disable(struct drm_encoder *encoder)
> >  	if (!encoder_funcs)
> >  		return;
> >  
> > -	drm_bridge_disable(encoder->bridge);
> > -
> >  	if (encoder_funcs->disable)
> >  		(*encoder_funcs->disable)(encoder);
> >  	else if (encoder_funcs->dpms)
> >  		(*encoder_funcs->dpms)(encoder, DRM_MODE_DPMS_OFF);
> > -
> > -	drm_bridge_post_disable(encoder->bridge);
> >  }
> >  
> >  static void __drm_helper_disable_unused_functions(struct drm_device *dev)
> > @@ -318,13 +314,6 @@ bool drm_crtc_helper_set_mode(struct drm_crtc *crtc,
> >  		if (!encoder_funcs)
> >  			continue;
> >  
> > -		ret = drm_bridge_mode_fixup(encoder->bridge,
> > -			mode, adjusted_mode);
> > -		if (!ret) {
> > -			DRM_DEBUG_KMS("Bridge fixup failed\n");
> > -			goto done;
> > -		}
> > -
> >  		encoder_funcs = encoder->helper_private;
> >  		if (encoder_funcs->mode_fixup) {
> >  			if (!(ret = encoder_funcs->mode_fixup(encoder, mode,
> > @@ -356,13 +345,9 @@ bool drm_crtc_helper_set_mode(struct drm_crtc *crtc,
> >  		if (!encoder_funcs)
> >  			continue;
> >  
> > -		drm_bridge_disable(encoder->bridge);
> > -
> >  		/* Disable the encoders as the first thing we do. */
> >  		if (encoder_funcs->prepare)
> >  			encoder_funcs->prepare(encoder);
> > -
> > -		drm_bridge_post_disable(encoder->bridge);
> >  	}
> >  
> >  	drm_crtc_prepare_encoders(dev);
> > @@ -390,8 +375,6 @@ bool drm_crtc_helper_set_mode(struct drm_crtc *crtc,
> >  			mode->base.id, mode->name);
> >  		if (encoder_funcs->mode_set)
> >  			encoder_funcs->mode_set(encoder, mode, adjusted_mode);
> > -
> > -		drm_bridge_mode_set(encoder->bridge, mode, adjusted_mode);
> >  	}
> >  
> >  	/* Now enable the clocks, plane, pipe, and connectors that we set up. */
> > @@ -406,12 +389,8 @@ bool drm_crtc_helper_set_mode(struct drm_crtc *crtc,
> >  		if (!encoder_funcs)
> >  			continue;
> >  
> > -		drm_bridge_pre_enable(encoder->bridge);
> > -
> >  		if (encoder_funcs->commit)
> >  			encoder_funcs->commit(encoder);
> > -
> > -		drm_bridge_enable(encoder->bridge);
> >  	}
> >  
> >  	/* Calculate and store various constants which
> > @@ -809,25 +788,14 @@ static int drm_helper_choose_encoder_dpms(struct drm_encoder *encoder)
> >  /* Helper which handles bridge ordering around encoder dpms */
> >  static void drm_helper_encoder_dpms(struct drm_encoder *encoder, int mode)
> >  {
> > -	struct drm_bridge *bridge = encoder->bridge;
> >  	const struct drm_encoder_helper_funcs *encoder_funcs;
> >  
> >  	encoder_funcs = encoder->helper_private;
> >  	if (!encoder_funcs)
> >  		return;
> >  
> > -	if (mode == DRM_MODE_DPMS_ON)
> > -		drm_bridge_pre_enable(bridge);
> > -	else
> > -		drm_bridge_disable(bridge);
> > -
> >  	if (encoder_funcs->dpms)
> >  		encoder_funcs->dpms(encoder, mode);
> > -
> > -	if (mode == DRM_MODE_DPMS_ON)
> > -		drm_bridge_enable(bridge);
> > -	else
> > -		drm_bridge_post_disable(bridge);
> >  }
> >  
> >  static int drm_helper_choose_crtc_dpms(struct drm_crtc *crtc)
> > -- 
> > Regards,
> > 
> > Laurent Pinchart
> > 
> 
> -- 
> Sean Paul, Software Engineer, Google / Chromium OS
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
diff mbox

Patch

diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c
index 5a84c3bc915d..d365526be8b5 100644
--- a/drivers/gpu/drm/drm_crtc_helper.c
+++ b/drivers/gpu/drm/drm_crtc_helper.c
@@ -152,14 +152,10 @@  drm_encoder_disable(struct drm_encoder *encoder)
 	if (!encoder_funcs)
 		return;
 
-	drm_bridge_disable(encoder->bridge);
-
 	if (encoder_funcs->disable)
 		(*encoder_funcs->disable)(encoder);
 	else if (encoder_funcs->dpms)
 		(*encoder_funcs->dpms)(encoder, DRM_MODE_DPMS_OFF);
-
-	drm_bridge_post_disable(encoder->bridge);
 }
 
 static void __drm_helper_disable_unused_functions(struct drm_device *dev)
@@ -318,13 +314,6 @@  bool drm_crtc_helper_set_mode(struct drm_crtc *crtc,
 		if (!encoder_funcs)
 			continue;
 
-		ret = drm_bridge_mode_fixup(encoder->bridge,
-			mode, adjusted_mode);
-		if (!ret) {
-			DRM_DEBUG_KMS("Bridge fixup failed\n");
-			goto done;
-		}
-
 		encoder_funcs = encoder->helper_private;
 		if (encoder_funcs->mode_fixup) {
 			if (!(ret = encoder_funcs->mode_fixup(encoder, mode,
@@ -356,13 +345,9 @@  bool drm_crtc_helper_set_mode(struct drm_crtc *crtc,
 		if (!encoder_funcs)
 			continue;
 
-		drm_bridge_disable(encoder->bridge);
-
 		/* Disable the encoders as the first thing we do. */
 		if (encoder_funcs->prepare)
 			encoder_funcs->prepare(encoder);
-
-		drm_bridge_post_disable(encoder->bridge);
 	}
 
 	drm_crtc_prepare_encoders(dev);
@@ -390,8 +375,6 @@  bool drm_crtc_helper_set_mode(struct drm_crtc *crtc,
 			mode->base.id, mode->name);
 		if (encoder_funcs->mode_set)
 			encoder_funcs->mode_set(encoder, mode, adjusted_mode);
-
-		drm_bridge_mode_set(encoder->bridge, mode, adjusted_mode);
 	}
 
 	/* Now enable the clocks, plane, pipe, and connectors that we set up. */
@@ -406,12 +389,8 @@  bool drm_crtc_helper_set_mode(struct drm_crtc *crtc,
 		if (!encoder_funcs)
 			continue;
 
-		drm_bridge_pre_enable(encoder->bridge);
-
 		if (encoder_funcs->commit)
 			encoder_funcs->commit(encoder);
-
-		drm_bridge_enable(encoder->bridge);
 	}
 
 	/* Calculate and store various constants which
@@ -809,25 +788,14 @@  static int drm_helper_choose_encoder_dpms(struct drm_encoder *encoder)
 /* Helper which handles bridge ordering around encoder dpms */
 static void drm_helper_encoder_dpms(struct drm_encoder *encoder, int mode)
 {
-	struct drm_bridge *bridge = encoder->bridge;
 	const struct drm_encoder_helper_funcs *encoder_funcs;
 
 	encoder_funcs = encoder->helper_private;
 	if (!encoder_funcs)
 		return;
 
-	if (mode == DRM_MODE_DPMS_ON)
-		drm_bridge_pre_enable(bridge);
-	else
-		drm_bridge_disable(bridge);
-
 	if (encoder_funcs->dpms)
 		encoder_funcs->dpms(encoder, mode);
-
-	if (mode == DRM_MODE_DPMS_ON)
-		drm_bridge_enable(bridge);
-	else
-		drm_bridge_post_disable(bridge);
 }
 
 static int drm_helper_choose_crtc_dpms(struct drm_crtc *crtc)