A small nitpick: if this workaround is needed for all NAVi ASICs, can we make a macro for this? e.g. #define ASIC_IS_NAVI_SERIES(adev) (adev->asic_type >= CHIP_NAVI10 && adev->asic_type <= NAVI12) Then we can use if (!adev->mman.buffer_funcs_enabled || !adev->ib_pool_ready || - adev->asic_type > CHIP_NAVI14 || + !ASIC_IS_NAVI_SERIES(adev) || adev->in_gpu_reset) { -----Original Message----- From: Yuan, Xiaojie <Xiaojie.Yuan@xxxxxxx> Sent: Tuesday, September 24, 2019 11:01 AM To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx Cc: Zhang, Hawking <Hawking.Zhang@xxxxxxx>; Xiao, Jack <Jack.Xiao@xxxxxxx>; Yin, Tianci (Rico) <Tianci.Yin@xxxxxxx>; Quan, Evan <Evan.Quan@xxxxxxx>; Yuan, Xiaojie <Xiaojie.Yuan@xxxxxxx> Subject: [PATCH] drm/amdgpu/gmc10: apply the 'invalidation from sdma' workaround for navi12 when gfxoff is enabled, sdma hangs while entering desktop without this workaround Signed-off-by: Xiaojie Yuan <xiaojie.yuan@xxxxxxx> --- drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c index ed1c3b883f6a..0304ca8fe723 100644 --- a/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c @@ -291,7 +291,7 @@ static void gmc_v10_0_flush_gpu_tlb(struct amdgpu_device *adev, uint32_t vmid, if (!adev->mman.buffer_funcs_enabled || !adev->ib_pool_ready || - adev->asic_type > CHIP_NAVI14 || + adev->asic_type > CHIP_NAVI12 || adev->in_gpu_reset) { gmc_v10_0_flush_vm_hub(adev, vmid, AMDGPU_GFXHUB_0, 0); mutex_unlock(&adev->mman.gtt_window_lock); -- 2.20.1 _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx