[PATCH] drm/amd/powerplay: fix deadlock around smu_handle_task V2

Kevin Wang kevwa at amd.com
Tue Jul 16 04:21:48 UTC 2019


Reviewed-by: Kevin Wang <kevin1.wang at amd.com>

Best Regards,
Kevin

On 7/16/19 11:01 AM, Quan, Evan wrote:
> Ping..
>
>> -----Original Message-----
>> From: Evan Quan <evan.quan at amd.com>
>> Sent: Friday, July 12, 2019 1:51 PM
>> To: amd-gfx at lists.freedesktop.org
>> Cc: Wang, Kevin(Yang) <Kevin1.Wang at amd.com>; Quan, Evan
>> <Evan.Quan at amd.com>
>> Subject: [PATCH] drm/amd/powerplay: fix deadlock around
>> smu_handle_task V2
>>
>> As the lock was already held on the entrance to smu_handle_task.
>>
>> - V2: lock in small granularity
>>
>> Change-Id: I5388aa917ef0e330974e26c59db42d1354b6a865
>> Signed-off-by: Evan Quan <evan.quan at amd.com>
>> ---
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c | 2 --
>>   1 file changed, 2 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
>> index 961f4e54ed18..eb255a6bd3a9 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
>> @@ -3049,11 +3049,9 @@ void amdgpu_pm_compute_clocks(struct
>> amdgpu_device *adev)
>>   	if (is_support_sw_smu(adev)) {
>>   		struct smu_context *smu = &adev->smu;
>>   		struct smu_dpm_context *smu_dpm = &adev-
>>> smu.smu_dpm;
>> -		mutex_lock(&(smu->mutex));
>>   		smu_handle_task(&adev->smu,
>>   				smu_dpm->dpm_level,
>>   				AMD_PP_TASK_DISPLAY_CONFIG_CHANGE);
>> -		mutex_unlock(&(smu->mutex));
>>   	} else {
>>   		if (adev->powerplay.pp_funcs->dispatch_tasks) {
>>   			if (!amdgpu_device_has_dc_support(adev)) {
>> --
>> 2.21.0


More information about the amd-gfx mailing list