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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[AMD Official Use Only - Internal Distribution Only]


Yes.

These two APIs get called only during hw/smu initialization. And although there needs hw initialization also on resume/gpu reset.

They share no race conditions(there cannot be another gpu reset/resume unless current gpu reset/resume done).

 

BR

Evan

From: amd-gfx <amd-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of Deucher, Alexander
Sent: Friday, August 28, 2020 10:16 PM
To: Das, Nirmoy <Nirmoy.Das@xxxxxxx>; amd-gfx@xxxxxxxxxxxxxxxxxxxxx; Koenig, Christian <Christian.Koenig@xxxxxxx>
Subject: Re: [PATCH 1/4] drm/amd/pm: drop unnecessary feature->mutex lock protections(V2)

 

[AMD Official Use Only - Internal Distribution Only]

 

[AMD Official Use Only - Internal Distribution Only]

 

This code gets called during suspend and resume and GPU reset as well.  Are those cases properly covered?

 

Alex

 


From: amd-gfx <amd-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> on behalf of Christian König <ckoenig.leichtzumerken@xxxxxxxxx>
Sent: Friday, August 28, 2020 4:16 AM
To: Das, Nirmoy <Nirmoy.Das@xxxxxxx>; amd-gfx@xxxxxxxxxxxxxxxxxxxxx <amd-gfx@xxxxxxxxxxxxxxxxxxxxx>
Subject: Re: [PATCH 1/4] drm/amd/pm: drop unnecessary feature->mutex lock protections(V2)

 

The explanation sounds sane, but since I don't know the affected code at
all the series is only Acked-by: Christian König <christian.koenig@xxxxxxx>

Maybe wait for Alex to give you an rb if you are unsure, otherwise feel
free to commit.

Christian.

Am 27.08.20 um 08:39 schrieb Nirmoy:
> Series is Acked-by: Nirmoy Das <nirmoy.das@xxxxxxx>
>
>
> 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@xxxxxxx>
>> ---
>>   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;
>>   }
> _______________________________________________
> amd-gfx mailing list
> amd-gfx@xxxxxxxxxxxxxxxxxxxxx
> https://nam11.safelinks.protection.outlook.com/?url="">

_______________________________________________
amd-gfx mailing list
amd-gfx@xxxxxxxxxxxxxxxxxxxxx
https://nam11.safelinks.protection.outlook.com/?url="">

_______________________________________________
amd-gfx mailing list
amd-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux