[PATCH] drm/amdgpu/vcn: fix gfxoff issue

Zhang, Hawking Hawking.Zhang at amd.com
Wed Apr 15 03:05:19 UTC 2020


[AMD Official Use Only - Internal Distribution Only]

This actually introduced at very early stage we enabled GFXOFF for the first time on Raven platform. At that time gfxoff can't work with Video play back (this is general issue across all OSes). So we disabled gfxoff when there is workload on VCN.

For most ASICs, it shall be removed. The only concern is some old Raven platform where the rlc fw fixes are not available. 

I had a quick chat with @Zhu, Changfeng who will have a quick validation on his old Raven platform so that we can safely remove this workaround finally.

Regards,
Hawking
-----Original Message-----
From: Zhu, James <James.Zhu at amd.com> 
Sent: Tuesday, April 14, 2020 23:00
To: Alex Deucher <alexdeucher at gmail.com>; Zhu, James <James.Zhu at amd.com>; Zhang, Hawking <Hawking.Zhang at amd.com>
Cc: amd-gfx list <amd-gfx at lists.freedesktop.org>; Zhu, Changfeng <Changfeng.Zhu at amd.com>
Subject: Re: [PATCH] drm/amdgpu/vcn: fix gfxoff issue

+Hawking

Hi Hawking,

can we drop this WA?

Thanks!

James

On 2020-04-14 10:52 a.m., James Zhu wrote:
> +Rex
>
> This is introduce by below patch.
>
> commit 3fded222f4bf7f4c56ef4854872a39a4de08f7a8
> Author: Rex Zhu <Rex.Zhu at amd.com>
> Date:   Fri Jul 27 17:00:02 2018 +0800
>
>     drm/amdgpu: Disable gfx off if VCN is busy
>
>     this patch is a workaround for the gpu hang
>     at video begin/end time if gfx off is enabled.
>
>     Reviewed-by: Hawking Zhang <Hawking.Zhang at amd.com>
>     Signed-off-by: Rex Zhu <Rex.Zhu at amd.com>
>     Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
>
>
> On 2020-04-14 10:22 a.m., Alex Deucher wrote:
>> On Tue, Apr 14, 2020 at 8:05 AM James Zhu <James.Zhu at amd.com> wrote:
>>> Turn off gfxoff control when vcn is gated.
>>>
>>> Signed-off-by: James Zhu <James.Zhu at amd.com>
>>> ---
>>>   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 8 +++++---
>>>   1 file changed, 5 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
>>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
>>> index dab34f6..aa9a7a5 100644
>>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
>>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
>>> @@ -369,9 +369,11 @@ void amdgpu_vcn_ring_begin_use(struct 
>>> amdgpu_ring *ring) cancel_delayed_work_sync(&adev->vcn.idle_work);
>>>
>>>          mutex_lock(&adev->vcn.vcn_pg_lock);
>>> -       amdgpu_gfx_off_ctrl(adev, false);
>>> -       amdgpu_device_ip_set_powergating_state(adev,
>>> AMD_IP_BLOCK_TYPE_VCN,
>>> -              AMD_PG_STATE_UNGATE);
>>> +       if (adev->vcn.cur_state == AMD_PG_STATE_GATE) {
>>> +               amdgpu_gfx_off_ctrl(adev, false);
>>> +               amdgpu_device_ip_set_powergating_state(adev,
>>> AMD_IP_BLOCK_TYPE_VCN,
>>> +                      AMD_PG_STATE_UNGATE);
>>> +       }
>>>
>> Why are we touching gfxoff with VCN?  Was this a leftover from bring 
>> up?  Can we just drop all of this gfxoff stuff from VCN handling?  I 
>> don't see why there would be a dependency.
>>
>> Alex
>>
>>>          if (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)    {
>>>                  struct dpg_pause_state new_state;
>>> --
>>> 2.7.4
>>>
>>> _______________________________________________
>>> amd-gfx mailing list
>>> amd-gfx at lists.freedesktop.org
>>> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fli
>>> sts.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfx&data=02%7C01%
>>> 7CJames.Zhu%40amd.com%7C3dd9135c717a4b3011e308d7e07f52b6%7C3dd8961fe
>>> 4884e608e11a82d994e183d%7C0%7C0%7C637224709763391845&sdata=Y%2Bt
>>> sJQNB1TXCQ9v86DW%2F0FC63gOSHsfzzZFu0MDvCHw%3D&reserved=0
>>>


More information about the amd-gfx mailing list