amdgpu_pmops_freeze() calls amdgpu_device_suspend() which calls amdgpu_asic_reset() at the end. amdgpu_asic_reset() is a macro which calls an asic specific callback to reset the GPU. vi_asic_reset() in vi.c is the callback for polaris and other VI family parts.