[AMD Official Use Only - Internal Distribution Only] +Ray BR, Changfeng. -----Original Message----- From: Zhu, James <James.Zhu@xxxxxxx> Sent: Tuesday, April 14, 2020 11:00 PM To: Alex Deucher <alexdeucher@xxxxxxxxx>; Zhu, James <James.Zhu@xxxxxxx>; Zhang, Hawking <Hawking.Zhang@xxxxxxx> Cc: amd-gfx list <amd-gfx@xxxxxxxxxxxxxxxxxxxxx>; Zhu, Changfeng <Changfeng.Zhu@xxxxxxx> 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@xxxxxxx> > 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@xxxxxxx> > Signed-off-by: Rex Zhu <Rex.Zhu@xxxxxxx> > Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> > > > On 2020-04-14 10:22 a.m., Alex Deucher wrote: >> On Tue, Apr 14, 2020 at 8:05 AM James Zhu <James.Zhu@xxxxxxx> wrote: >>> Turn off gfxoff control when vcn is gated. >>> >>> Signed-off-by: James Zhu <James.Zhu@xxxxxxx> >>> --- >>> 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@xxxxxxxxxxxxxxxxxxxxx >>> 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 >>> _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx