On Wed, Feb 13, 2019 at 05:35:05PM +0200, Ville Syrjälä wrote: > On Tue, Feb 12, 2019 at 12:32:41PM -0500, Sean Paul wrote: > > From: Sean Paul <seanpaul@xxxxxxxxxxxx> > > > > The only difference between the functions is the clean_old_fbs argument, whose > > use was removed in the patch referenced below. So remove the internal > > copy and drop the guts back into drm_atomic_helper_disable_all() > > > > Changes in v2: > > - Instead of just removing the unused arg, merge the functions > > > > Fixes: e00fb8564ee9 ("drm: Stop updating plane->crtc/fb/old_fb on atomic drivers") > > Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> > > Cc: Harry Wentland <harry.wentland@xxxxxxx> > > Cc: Sinclair Yeh <syeh@xxxxxxxxxx> # This email bounces :( > > Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxx> > > Cc: Sean Paul <sean@xxxxxxxxxx> > > Cc: David Airlie <airlied@xxxxxxxx> > > Cc: Daniel Vetter <daniel@xxxxxxxx> > > Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx > > Signed-off-by: Sean Paul <seanpaul@xxxxxxxxxxxx> > > Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > Pushed to drm-misc-next-fixes, thanks for your review! Sean > > --- > > drivers/gpu/drm/drm_atomic_helper.c | 59 +++++++++++++---------------- > > 1 file changed, 26 insertions(+), 33 deletions(-) > > > > diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c > > index c53ecbd9abddd..7a7231d007792 100644 > > --- a/drivers/gpu/drm/drm_atomic_helper.c > > +++ b/drivers/gpu/drm/drm_atomic_helper.c > > @@ -3030,9 +3030,31 @@ int __drm_atomic_helper_set_config(struct drm_mode_set *set, > > return 0; > > } > > > > -static int __drm_atomic_helper_disable_all(struct drm_device *dev, > > - struct drm_modeset_acquire_ctx *ctx, > > - bool clean_old_fbs) > > +/** > > + * drm_atomic_helper_disable_all - disable all currently active outputs > > + * @dev: DRM device > > + * @ctx: lock acquisition context > > + * > > + * Loops through all connectors, finding those that aren't turned off and then > > + * turns them off by setting their DPMS mode to OFF and deactivating the CRTC > > + * that they are connected to. > > + * > > + * This is used for example in suspend/resume to disable all currently active > > + * functions when suspending. If you just want to shut down everything at e.g. > > + * driver unload, look at drm_atomic_helper_shutdown(). > > + * > > + * Note that if callers haven't already acquired all modeset locks this might > > + * return -EDEADLK, which must be handled by calling drm_modeset_backoff(). > > + * > > + * Returns: > > + * 0 on success or a negative error code on failure. > > + * > > + * See also: > > + * drm_atomic_helper_suspend(), drm_atomic_helper_resume() and > > + * drm_atomic_helper_shutdown(). > > + */ > > +int drm_atomic_helper_disable_all(struct drm_device *dev, > > + struct drm_modeset_acquire_ctx *ctx) > > { > > struct drm_atomic_state *state; > > struct drm_connector_state *conn_state; > > @@ -3090,35 +3112,6 @@ static int __drm_atomic_helper_disable_all(struct drm_device *dev, > > drm_atomic_state_put(state); > > return ret; > > } > > - > > -/** > > - * drm_atomic_helper_disable_all - disable all currently active outputs > > - * @dev: DRM device > > - * @ctx: lock acquisition context > > - * > > - * Loops through all connectors, finding those that aren't turned off and then > > - * turns them off by setting their DPMS mode to OFF and deactivating the CRTC > > - * that they are connected to. > > - * > > - * This is used for example in suspend/resume to disable all currently active > > - * functions when suspending. If you just want to shut down everything at e.g. > > - * driver unload, look at drm_atomic_helper_shutdown(). > > - * > > - * Note that if callers haven't already acquired all modeset locks this might > > - * return -EDEADLK, which must be handled by calling drm_modeset_backoff(). > > - * > > - * Returns: > > - * 0 on success or a negative error code on failure. > > - * > > - * See also: > > - * drm_atomic_helper_suspend(), drm_atomic_helper_resume() and > > - * drm_atomic_helper_shutdown(). > > - */ > > -int drm_atomic_helper_disable_all(struct drm_device *dev, > > - struct drm_modeset_acquire_ctx *ctx) > > -{ > > - return __drm_atomic_helper_disable_all(dev, ctx, false); > > -} > > EXPORT_SYMBOL(drm_atomic_helper_disable_all); > > > > /** > > @@ -3139,7 +3132,7 @@ void drm_atomic_helper_shutdown(struct drm_device *dev) > > > > DRM_MODESET_LOCK_ALL_BEGIN(dev, ctx, 0, ret); > > > > - ret = __drm_atomic_helper_disable_all(dev, &ctx, true); > > + ret = drm_atomic_helper_disable_all(dev, &ctx); > > if (ret) > > DRM_ERROR("Disabling all crtc's during unload failed with %i\n", ret); > > > > -- > > Sean Paul, Software Engineer, Google / Chromium OS > > -- > Ville Syrjälä > Intel -- Sean Paul, Software Engineer, Google / Chromium OS _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel