]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/amdgpu: enable gfxoff for raven1 refresh
authorchangzhu <Changfeng.Zhu@amd.com>
Thu, 12 Dec 2019 05:46:06 +0000 (13:46 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 17 Jan 2020 18:49:06 +0000 (19:49 +0100)
[ Upstream commit e0c63812352298efbce2a71483c1dab627d0c288 ]

When smu version is larger than 0x41e2b, it will load
raven_kicker_rlc.bin.To enable gfxoff for raven_kicker_rlc.bin,it
needs to avoid adev->pm.pp_feature &= ~PP_GFXOFF_MASK when it loads
raven_kicker_rlc.bin.

Signed-off-by: changzhu <Changfeng.Zhu@amd.com>
Reviewed-by: Huang Rui <ray.huang@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c

index c9ba2ec6d0382e1c81a273c2be1382084e1581da..ab4a0d8545dcba3314171c61322c21ca2e14e8d7 100644 (file)
@@ -1038,17 +1038,10 @@ static void gfx_v9_0_check_if_need_gfxoff(struct amdgpu_device *adev)
        case CHIP_VEGA20:
                break;
        case CHIP_RAVEN:
-               /* Disable GFXOFF on original raven.  There are combinations
-                * of sbios and platforms that are not stable.
-                */
-               if (!(adev->rev_id >= 0x8 || adev->pdev->device == 0x15d8))
-                       adev->pm.pp_feature &= ~PP_GFXOFF_MASK;
-               else if (!(adev->rev_id >= 0x8 || adev->pdev->device == 0x15d8)
-                        &&((adev->gfx.rlc_fw_version != 106 &&
-                            adev->gfx.rlc_fw_version < 531) ||
-                           (adev->gfx.rlc_fw_version == 53815) ||
-                           (adev->gfx.rlc_feature_version < 1) ||
-                           !adev->gfx.rlc.is_rlc_v2_1))
+               if (!(adev->rev_id >= 0x8 ||
+                     adev->pdev->device == 0x15d8) &&
+                   (adev->pm.fw_version < 0x41e2b || /* not raven1 fresh */
+                    !adev->gfx.rlc.is_rlc_v2_1)) /* without rlc save restore ucodes */
                        adev->pm.pp_feature &= ~PP_GFXOFF_MASK;
 
                if (adev->pm.pp_feature & PP_GFXOFF_MASK)