[PATCH] drm/amdgpu:No action needs when VCN PG state is unchanged

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

 




On 2018-09-11 10:44 AM, Alex Deucher wrote:
> On Mon, Sep 10, 2018 at 4:34 PM James Zhu <jzhums at gmail.com> wrote:
>> Signed-off-by: James Zhu <James.Zhu at amd.com>
>>
>> When VCN PG state is unchanged, it is unnecessary to reset
>> power gate state again.
> Don't you need to initialize and store the PG state somewhere?  You
> are just using a local variable here.
>
> Alex
>
Hi Alex,

I used */static/* for this local state variable(*cur_state*) with 
initialization state AMD_PG_STATE_GATE.
this variable's scope is only inside this function, but it's 
initialization is done
once at compile time and it's lifetime will last until the driver exit.

Since it is only used inside this function, I didn't put it into struct 
amdgpu_vcn.

Best Regards!
James Zhu
>> ---
>>   drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c | 13 +++++++++++--
>>   1 file changed, 11 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c b/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c
>> index 2664bb2..86d98d2 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c
>> @@ -1633,12 +1633,21 @@ static int vcn_v1_0_set_powergating_state(void *handle,
>>           * revisit this when there is a cleaner line between
>>           * the smc and the hw blocks
>>           */
>> +       int ret;
>> +       static enum amd_powergating_state cur_state = AMD_PG_STATE_GATE;
>>          struct amdgpu_device *adev = (struct amdgpu_device *)handle;
>>
>> +       if (state == cur_state)
>> +               return 0;
>> +
>>          if (state == AMD_PG_STATE_GATE)
>> -               return vcn_v1_0_stop(adev);
>> +               ret = vcn_v1_0_stop(adev);
>>          else
>> -               return vcn_v1_0_start(adev);
>> +               ret = vcn_v1_0_start(adev);
>> +
>> +       if (!ret)
>> +               cur_state = state;
>> +       return ret;
>>   }
>>
>>   static const struct amd_ip_funcs vcn_v1_0_ip_funcs = {
>> --
>> 2.7.4
>>
>> _______________________________________________
>> amd-gfx mailing list
>> amd-gfx at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20180911/f1c35660/attachment.html>


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

  Powered by Linux