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

Zhu, Changfeng Changfeng.Zhu at amd.com
Wed Apr 15 02:11:39 UTC 2020


[AMD Official Use Only - Internal Distribution Only]

+Ray

BR,
Changfeng.

-----Original Message-----
From: Zhu, James <James.Zhu at amd.com> 
Sent: Tuesday, April 14, 2020 11:00 PM
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