Commit b66effb1 authored by Evan Quan's avatar Evan Quan Committed by Alex Deucher

drm/amd/pm: drop unnecessary feature->mutex lock protections(V2)

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 cannot be in parallel
2. all other operations can be performed only after hardware
   setup complete.

V2: rich the commit log description
Signed-off-by: default avatarEvan Quan <evan.quan@amd.com>
Acked-by: default avatarNirmoy Das <nirmoy.das@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 12f04120
...@@ -361,20 +361,16 @@ static int smu_get_driver_allowed_feature_mask(struct smu_context *smu) ...@@ -361,20 +361,16 @@ static int smu_get_driver_allowed_feature_mask(struct smu_context *smu)
int ret = 0; int ret = 0;
uint32_t allowed_feature_mask[SMU_FEATURE_MAX/32]; uint32_t allowed_feature_mask[SMU_FEATURE_MAX/32];
mutex_lock(&feature->mutex);
bitmap_zero(feature->allowed, SMU_FEATURE_MAX); bitmap_zero(feature->allowed, SMU_FEATURE_MAX);
mutex_unlock(&feature->mutex);
ret = smu_get_allowed_feature_mask(smu, allowed_feature_mask, ret = smu_get_allowed_feature_mask(smu, allowed_feature_mask,
SMU_FEATURE_MAX/32); SMU_FEATURE_MAX/32);
if (ret) if (ret)
return ret; return ret;
mutex_lock(&feature->mutex);
bitmap_or(feature->allowed, feature->allowed, bitmap_or(feature->allowed, feature->allowed,
(unsigned long *)allowed_feature_mask, (unsigned long *)allowed_feature_mask,
feature->feature_num); feature->feature_num);
mutex_unlock(&feature->mutex);
return ret; return ret;
} }
......
...@@ -721,7 +721,6 @@ int smu_v11_0_set_allowed_mask(struct smu_context *smu) ...@@ -721,7 +721,6 @@ int smu_v11_0_set_allowed_mask(struct smu_context *smu)
int ret = 0; int ret = 0;
uint32_t feature_mask[2]; uint32_t feature_mask[2];
mutex_lock(&feature->mutex);
if (bitmap_empty(feature->allowed, SMU_FEATURE_MAX) || feature->feature_num < 64) if (bitmap_empty(feature->allowed, SMU_FEATURE_MAX) || feature->feature_num < 64)
goto failed; goto failed;
...@@ -738,7 +737,6 @@ int smu_v11_0_set_allowed_mask(struct smu_context *smu) ...@@ -738,7 +737,6 @@ int smu_v11_0_set_allowed_mask(struct smu_context *smu)
goto failed; goto failed;
failed: failed:
mutex_unlock(&feature->mutex);
return ret; return ret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment