[PATCH v2] drm: Merge __drm_atomic_helper_disable_all() into drm_atomic_helper_disable_all()
Ville Syrjälä
ville.syrjala at linux.intel.com
Wed Feb 13 15:35:05 UTC 2019
On Tue, Feb 12, 2019 at 12:32:41PM -0500, Sean Paul wrote:
> From: Sean Paul <seanpaul at chromium.org>
>
> 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 at linux.intel.com>
> Cc: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> Cc: Harry Wentland <harry.wentland at amd.com>
> Cc: Sinclair Yeh <syeh at vmware.com> # This email bounces :(
> Cc: Maxime Ripard <maxime.ripard at bootlin.com>
> Cc: Sean Paul <sean at poorly.run>
> Cc: David Airlie <airlied at linux.ie>
> Cc: Daniel Vetter <daniel at ffwll.ch>
> Cc: dri-devel at lists.freedesktop.org
> Signed-off-by: Sean Paul <seanpaul at chromium.org>
Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
> 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
More information about the dri-devel
mailing list