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

James Zhu jamesz at amd.com
Tue Apr 14 14:52:22 UTC 2020


+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%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfx&data=02%7C01%7CJames.Zhu%40amd.com%7C3dd9135c717a4b3011e308d7e07f52b6%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637224709763391845&sdata=Y%2BtsJQNB1TXCQ9v86DW%2F0FC63gOSHsfzzZFu0MDvCHw%3D&reserved=0


More information about the amd-gfx mailing list