aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
diff options
context:
space:
mode:
authorChengming Gui <Jack.Gui@amd.com>2020-02-28 14:54:50 +0800
committerAlex Deucher <alexander.deucher@amd.com>2020-03-05 00:27:38 -0500
commit31faff1a1c2df06be0d7dfb083051675addcbff9 (patch)
tree19fb8d430b5fcc79ccb62184eaf6e0bb9dcf5cfe /drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
parent5b2b2416faf378b882ff7488aa8e8de315a6b62c (diff)
downloadkernel_replicant_linux-31faff1a1c2df06be0d7dfb083051675addcbff9.tar.gz
kernel_replicant_linux-31faff1a1c2df06be0d7dfb083051675addcbff9.tar.bz2
kernel_replicant_linux-31faff1a1c2df06be0d7dfb083051675addcbff9.zip
drm/amdgpu: add lock option for smu_set_soft_freq_range()
Add lock_needed param for smu_set_soft_freq_range() Signed-off-by: Chengming Gui <Jack.Gui@amd.com> Reviewed-by: Evan Quan <evan.quan@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/powerplay/amdgpu_smu.c')
-rw-r--r--drivers/gpu/drm/amd/powerplay/amdgpu_smu.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
index 9f6da26be90b..e3398f9c4284 100644
--- a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
+++ b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
@@ -210,7 +210,7 @@ int smu_get_smc_version(struct smu_context *smu, uint32_t *if_version, uint32_t
}
int smu_set_soft_freq_range(struct smu_context *smu, enum smu_clk_type clk_type,
- uint32_t min, uint32_t max)
+ uint32_t min, uint32_t max, bool lock_needed)
{
int ret = 0;
@@ -220,7 +220,12 @@ int smu_set_soft_freq_range(struct smu_context *smu, enum smu_clk_type clk_type,
if (!smu_clk_dpm_is_enabled(smu, clk_type))
return 0;
+ if (lock_needed)
+ mutex_lock(&smu->mutex);
ret = smu_set_soft_freq_limited_range(smu, clk_type, min, max);
+ if (lock_needed)
+ mutex_unlock(&smu->mutex);
+
return ret;
}