[PATCH 1/4] drm/amd/pm: drop unnecessary feature->mutex lock protections(V2)

Nirmoy nirmodas at amd.com
Thu Aug 27 06:39:34 UTC 2020


Series is Acked-by: Nirmoy Das <nirmoy.das at amd.com>


On 8/25/20 9:49 AM, Evan Quan wrote:
> As these operations are performed in hardware setup and there
> is actually no race conditions during this period considering:
> 1. the hardware setup is serial and cannnot be in parallel
> 2. all other operations can be performed only after hardware
>     setup complete.
>
> V2: rich the commit log description
>
> Change-Id: I096d7ab0855ff59b0ecb56fd9d6d9946b3605fc8
> Signed-off-by: Evan Quan <evan.quan at amd.com>
> ---
>   drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c      | 4 ----
>   drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c | 2 --
>   2 files changed, 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
> index 09dc5303762b..b7cad8ef6153 100644
> --- a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
> +++ b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
> @@ -361,20 +361,16 @@ static int smu_get_driver_allowed_feature_mask(struct smu_context *smu)
>   	int ret = 0;
>   	uint32_t allowed_feature_mask[SMU_FEATURE_MAX/32];
>   
> -	mutex_lock(&feature->mutex);
>   	bitmap_zero(feature->allowed, SMU_FEATURE_MAX);
> -	mutex_unlock(&feature->mutex);
>   
>   	ret = smu_get_allowed_feature_mask(smu, allowed_feature_mask,
>   					     SMU_FEATURE_MAX/32);
>   	if (ret)
>   		return ret;
>   
> -	mutex_lock(&feature->mutex);
>   	bitmap_or(feature->allowed, feature->allowed,
>   		      (unsigned long *)allowed_feature_mask,
>   		      feature->feature_num);
> -	mutex_unlock(&feature->mutex);
>   
>   	return ret;
>   }
> diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c b/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c
> index 548db1edd352..28a19ffd22a1 100644
> --- a/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c
> +++ b/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c
> @@ -721,7 +721,6 @@ int smu_v11_0_set_allowed_mask(struct smu_context *smu)
>   	int ret = 0;
>   	uint32_t feature_mask[2];
>   
> -	mutex_lock(&feature->mutex);
>   	if (bitmap_empty(feature->allowed, SMU_FEATURE_MAX) || feature->feature_num < 64)
>   		goto failed;
>   
> @@ -738,7 +737,6 @@ int smu_v11_0_set_allowed_mask(struct smu_context *smu)
>   		goto failed;
>   
>   failed:
> -	mutex_unlock(&feature->mutex);
>   	return ret;
>   }
>   


More information about the amd-gfx mailing list