[PATCH 3/5] drm: Add drm_object lease infrastructure [v4]

Sean Paul seanpaul at chromium.org
Mon Oct 16 21:05:21 UTC 2017


On Mon, Oct 16, 2017 at 01:42:46PM -0700, Keith Packard wrote:
> Sean Paul <seanpaul at chromium.org> writes:
> 
> 
> > With these nits fixed,
> > Reviewed-by: Sean Paul <seanpaul at chromium.org>
> 
> Like this?
> 

Perfect, thanks!

Sean

> From 0aa52dd5a0873831c79c14942075354c041e5bed Mon Sep 17 00:00:00 2001
> From: Keith Packard <keithp at keithp.com>
> Date: Mon, 16 Oct 2017 13:41:20 -0700
> Subject: [PATCH] drm: Mark functions requiring idr_mutex. Add lockdep to
>  _drm_lease_revoke
> 
> Reasonable suggestions by Sean Paul.
> 
> Signed-off-by: Keith Packard <keithp at keithp.com>
> ---
>  drivers/gpu/drm/drm_lease.c | 11 +++++++----
>  1 file changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_lease.c b/drivers/gpu/drm/drm_lease.c
> index 88c213f9c4ab..20694c77a2de 100644
> --- a/drivers/gpu/drm/drm_lease.c
> +++ b/drivers/gpu/drm/drm_lease.c
> @@ -58,7 +58,9 @@ _drm_find_lessee(struct drm_master *master, int lessee_id)
>  }
>  
>  /**
> - * _drm_lease_held_master - check to see if an object is leased (or owned) by master
> + * _drm_lease_held_master - check to see if an object is leased (or
> + *                          owned) by master (idr_mutex held)
> + *
>   * @master: the master to check the lease status of
>   * @id: the id to check
>   *
> @@ -77,7 +79,7 @@ static int _drm_lease_held_master(struct drm_master *master, int id)
>  }
>  
>  /**
> - * _drm_has_leased - check to see if an object has been leased
> + * _drm_has_leased - check to see if an object has been leased (idr mutex held)
>   * @master: the master to check the lease status of
>   * @id: the id to check
>   *
> @@ -300,8 +302,8 @@ void drm_lease_destroy(struct drm_master *master)
>  }
>  
>  /**
> - * _drm_lease_revoke - revoke access to all leased objects
> - * @master: the master losing its lease
> + * _drm_lease_revoke - revoke access to all leased objects (idr_mutex held)
> + * @top: the master losing its lease
>   */
>  
>  void _drm_lease_revoke(struct drm_master *top)
> @@ -310,6 +312,7 @@ void _drm_lease_revoke(struct drm_master *top)
>  	void *entry;
>  	struct drm_master *master = top;
>  
> +	lockdep_assert_held(&top->dev->mode_config.idr_mutex);
>  	/*
>  	 * Walk the tree starting at 'top' emptying all leases. Because
>  	 * the tree is fully connected, we can do this without recursing
> -- 
> 2.15.0.rc0
> 

> 
> 
> -- 
> -keith




-- 
Sean Paul, Software Engineer, Google / Chromium OS


More information about the dri-devel mailing list