OSDN Git Service

drm/amdgpu: enable gfxoff feature for navi10 asic
authorKevin Wang <kevin1.wang@amd.com>
Wed, 11 Dec 2019 09:30:26 +0000 (17:30 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 11 Dec 2019 20:22:07 +0000 (15:22 -0500)
enable gfxoff feature for some navi10 asics

Signed-off-by: Kevin Wang <kevin1.wang@amd.com>
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c

index caa43b3..5f54b6d 100644 (file)
@@ -610,11 +610,29 @@ static void gfx_v10_0_init_rlc_ext_microcode(struct amdgpu_device *adev)
                        le32_to_cpu(rlc_hdr->reg_list_format_direct_reg_list_length);
 }
 
+static bool gfx_v10_0_navi10_gfxoff_should_enable(struct amdgpu_device *adev)
+{
+       bool ret = false;
+
+       switch (adev->pdev->revision) {
+       case 0xc2:
+       case 0xc3:
+               ret = true;
+               break;
+       default:
+               ret = false;
+               break;
+       }
+
+       return ret ;
+}
+
 static void gfx_v10_0_check_gfxoff_flag(struct amdgpu_device *adev)
 {
        switch (adev->asic_type) {
        case CHIP_NAVI10:
-               adev->pm.pp_feature &= ~PP_GFXOFF_MASK;
+               if (!gfx_v10_0_navi10_gfxoff_should_enable(adev))
+                       adev->pm.pp_feature &= ~PP_GFXOFF_MASK;
                break;
        default:
                break;