[PATCH 3/5] drm/xe: Annotate mcr_[un]lock()

Matthew Brost matthew.brost at intel.com
Tue Jan 30 17:18:01 UTC 2024


On Wed, Jan 17, 2024 at 02:40:46PM +0100, Thomas Hellström wrote:
> These functions acquire and release the gt::mcr_lock. Annotate
> accordingly.
> Fix the corresponding sparse warning.
> 
> Fixes: dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel GPUs")
> Fixes: fb1d55efdfcb ("drm/xe: Cleanup OPEN_BRACE style issues")
> Cc: Francois Dugast <francois.dugast at intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
> Cc: Matthew Brost <matthew.brost at intel.com>

Reviewed-by: Matthew Brost <matthew.brost at intel.com>

> Signed-off-by: Thomas Hellström <thomas.hellstrom at linux.intel.com>
> ---
>  drivers/gpu/drm/xe/xe_gt_mcr.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_gt_mcr.c b/drivers/gpu/drm/xe/xe_gt_mcr.c
> index 77925b35cf8d..8546cd3cc50d 100644
> --- a/drivers/gpu/drm/xe/xe_gt_mcr.c
> +++ b/drivers/gpu/drm/xe/xe_gt_mcr.c
> @@ -480,7 +480,7 @@ static bool xe_gt_mcr_get_nonterminated_steering(struct xe_gt *gt,
>   * to synchronize with external clients (e.g., firmware), so a semaphore
>   * register will also need to be taken.
>   */
> -static void mcr_lock(struct xe_gt *gt)
> +static void mcr_lock(struct xe_gt *gt) __acquires(&gt->mcr_lock)
>  {
>  	struct xe_device *xe = gt_to_xe(gt);
>  	int ret = 0;
> @@ -500,7 +500,7 @@ static void mcr_lock(struct xe_gt *gt)
>  	drm_WARN_ON_ONCE(&xe->drm, ret == -ETIMEDOUT);
>  }
>  
> -static void mcr_unlock(struct xe_gt *gt)
> +static void mcr_unlock(struct xe_gt *gt) __releases(&gt->mcr_lock)
>  {
>  	/* Release hardware semaphore - this is done by writing 1 to the register */
>  	if (GRAPHICS_VERx100(gt_to_xe(gt)) >= 1270)
> -- 
> 2.43.0
> 


More information about the Intel-xe mailing list