[PATCH] drm: Remove bridge support from legacy helpers
Daniel Vetter
daniel at ffwll.ch
Wed Jan 17 21:46:06 UTC 2018
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 at ideasonboard.com>
>
> Reviewed-by: Sean Paul <seanpaul at chromium.org>
Acked-by: Daniel Vetter <daniel.vetter at 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 at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the dri-devel
mailing list