drm/amdgpu/powerplay: fix baco check for vega20
authorAlex Deucher <alexander.deucher@amd.com>
Fri, 7 Feb 2020 15:12:31 +0000 (10:12 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 11 Feb 2020 16:51:58 +0000 (11:51 -0500)
We need to handle the runpm case as well as GPU reset.

Reviewed-by: Evan Quan <evan.quan@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/powerplay/hwmgr/vega20_hwmgr.c

index 3b3ec56660510851791c975a5f5fa5e07ddae30a..08b6ba39a6d7c3cdaa088486c7e26b17488f1683 100644 (file)
@@ -487,15 +487,16 @@ static int vega20_setup_asic_task(struct pp_hwmgr *hwmgr)
 {
        struct amdgpu_device *adev = (struct amdgpu_device *)(hwmgr->adev);
        int ret = 0;
+       bool use_baco = (adev->in_gpu_reset &&
+                        (amdgpu_asic_reset_method(adev) == AMD_RESET_METHOD_BACO)) ||
+               (adev->in_runpm && amdgpu_asic_supports_baco(adev));
 
        ret = vega20_init_sclk_threshold(hwmgr);
        PP_ASSERT_WITH_CODE(!ret,
                        "Failed to init sclk threshold!",
                        return ret);
 
-       if (adev->in_gpu_reset &&
-           (amdgpu_asic_reset_method(adev) == AMD_RESET_METHOD_BACO)) {
-
+       if (use_baco) {
                ret = vega20_baco_apply_vdci_flush_workaround(hwmgr);
                if (ret)
                        pr_err("Failed to apply vega20 baco workaround!\n");