Patchwork [8/8] drm: Nuke drm_atomic_legacy_backoff

login
register
mail settings
Submitter Daniel Vetter
Date July 25, 2017, 8:01 a.m.
Message ID <20170725080122.20548-9-daniel.vetter@ffwll.ch>
Download mbox | patch
Permalink /patch/9861405/
State New
Headers show

Comments

Daniel Vetter - July 25, 2017, 8:01 a.m.
Finally all users are gone!

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/drm_atomic.c | 32 --------------------------------
 include/drm/drm_atomic.h     |  2 --
 2 files changed, 34 deletions(-)
Maarten Lankhorst - July 25, 2017, 9:36 a.m.
Op 25-07-17 om 10:01 schreef Daniel Vetter:
> Finally all users are gone!
>
> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  drivers/gpu/drm/drm_atomic.c | 32 --------------------------------
>  include/drm/drm_atomic.h     |  2 --
>  2 files changed, 34 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
> index 306fdca92abf..1b755439f591 100644
> --- a/drivers/gpu/drm/drm_atomic.c
> +++ b/drivers/gpu/drm/drm_atomic.c
> @@ -1588,38 +1588,6 @@ drm_atomic_add_affected_planes(struct drm_atomic_state *state,
>  EXPORT_SYMBOL(drm_atomic_add_affected_planes);
>  
>  /**
> - * drm_atomic_legacy_backoff - locking backoff for legacy ioctls
> - * @state: atomic state
> - *
> - * This function should be used by legacy entry points which don't understand
> - * -EDEADLK semantics. For simplicity this one will grab all modeset locks after
> - * the slowpath completed.
> - */
> -void drm_atomic_legacy_backoff(struct drm_atomic_state *state)
> -{
> -	struct drm_device *dev = state->dev;
> -	int ret;
> -	bool global = false;
> -
> -	if (WARN_ON(dev->mode_config.acquire_ctx == state->acquire_ctx)) {
> -		global = true;
> -
> -		dev->mode_config.acquire_ctx = NULL;
> -	}
> -
> -retry:
> -	drm_modeset_backoff(state->acquire_ctx);
> -
> -	ret = drm_modeset_lock_all_ctx(dev, state->acquire_ctx);
> -	if (ret)
> -		goto retry;
> -
> -	if (global)
> -		dev->mode_config.acquire_ctx = state->acquire_ctx;
> -}
> -EXPORT_SYMBOL(drm_atomic_legacy_backoff);
You're missing one patch here. We should also mark dev->mode_config.acquire_ctx __private. That way atomic commits will never be able to use lock_all. :)

Though I think it requires fixing vmwgfx_fb.c and i915 first.

Otherwise series looks good, so with review comments addressed.

Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>

Patch

diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
index 306fdca92abf..1b755439f591 100644
--- a/drivers/gpu/drm/drm_atomic.c
+++ b/drivers/gpu/drm/drm_atomic.c
@@ -1588,38 +1588,6 @@  drm_atomic_add_affected_planes(struct drm_atomic_state *state,
 EXPORT_SYMBOL(drm_atomic_add_affected_planes);
 
 /**
- * drm_atomic_legacy_backoff - locking backoff for legacy ioctls
- * @state: atomic state
- *
- * This function should be used by legacy entry points which don't understand
- * -EDEADLK semantics. For simplicity this one will grab all modeset locks after
- * the slowpath completed.
- */
-void drm_atomic_legacy_backoff(struct drm_atomic_state *state)
-{
-	struct drm_device *dev = state->dev;
-	int ret;
-	bool global = false;
-
-	if (WARN_ON(dev->mode_config.acquire_ctx == state->acquire_ctx)) {
-		global = true;
-
-		dev->mode_config.acquire_ctx = NULL;
-	}
-
-retry:
-	drm_modeset_backoff(state->acquire_ctx);
-
-	ret = drm_modeset_lock_all_ctx(dev, state->acquire_ctx);
-	if (ret)
-		goto retry;
-
-	if (global)
-		dev->mode_config.acquire_ctx = state->acquire_ctx;
-}
-EXPORT_SYMBOL(drm_atomic_legacy_backoff);
-
-/**
  * drm_atomic_check_only - check whether a given config would work
  * @state: atomic configuration to check
  *
diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h
index fccc09d5f2b3..066b8dac3978 100644
--- a/include/drm/drm_atomic.h
+++ b/include/drm/drm_atomic.h
@@ -545,8 +545,6 @@  int __must_check
 drm_atomic_add_affected_planes(struct drm_atomic_state *state,
 			       struct drm_crtc *crtc);
 
-void drm_atomic_legacy_backoff(struct drm_atomic_state *state);
-
 void
 drm_atomic_clean_old_fb(struct drm_device *dev, unsigned plane_mask, int ret);