Message ID | 20180117172703.30701-1-laurent.pinchart+renesas@ideasonboard.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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 >
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 --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)
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(-)