We need to disallow gfxoff if we touch GC MMIO registers. At the moment we use KIQ or MES for TLB flushes so no intended functional change.
Signed-off-by: Alex Deucher <[email protected]> --- drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c index 84c93364d2201..dba83a90550da 100644 --- a/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c @@ -327,8 +327,14 @@ static void gmc_v12_0_flush_gpu_tlb(struct amdgpu_device *adev, uint32_t vmid, return; } + /* disabllow gfxoff when we invalidate */ + if (vmhub == AMDGPU_GFXHUB(0)) + amdgpu_gfx_off_ctrl(adev, false); + gmc_v12_0_flush_vm_hub(adev, vmid, vmhub, 0); - return; + + if (vmhub == AMDGPU_GFXHUB(0)) + amdgpu_gfx_off_ctrl(adev, true); } /** -- 2.55.0
