This second patch makes use of the API that has been introduced with commit b7ea04d299c7: DRM_MODESET_LOCK_ALL_BEGIN() simplifies grabbing all modeset locks using a local context and has the advantage of reducing boilerplate. Signed-off-by: Fabio M. De Francesco <fmdefrancesco@xxxxxxxxx> --- Changes from v2: The work is split in two consecutive logical steps. Changes from v1: Added further information to the commit message. drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c index 856903db34c5..43dd77c227ed 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c @@ -1441,12 +1441,7 @@ static int amdgpu_pmops_runtime_idle(struct device *dev) struct drm_modeset_acquire_ctx ctx; int ret_lock = 0; -retry: - drm_modeset_lock_all_ctx(drm_dev, &ctx); - if(ret_lock == -EDEADLK) { - drm_modeset_backoff(&ctx); - goto retry; - } + DRM_MODESET_LOCK_ALL_BEGIN(drm_dev, ctx, 0, ret_lock); drm_for_each_crtc(crtc, drm_dev) { if (crtc->state->active) { @@ -1455,7 +1450,7 @@ static int amdgpu_pmops_runtime_idle(struct device *dev) } } - drm_modeset_drop_locks(&ctx); + DRM_MODESET_LOCK_ALL_END(drm_dev, ctx, ret_lock); } else { struct drm_connector *list_connector; -- 2.31.1 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel