drm/amdgpu: Clean up soc21 early init for SRIOV
authorYiqing Yao <yiqing.yao@amd.com>
Fri, 28 Oct 2022 09:03:17 +0000 (17:03 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 4 Nov 2022 20:05:53 +0000 (16:05 -0400)
Use virt_init_setting instead of per ip version setting.

Signed-off-by: Yiqing Yao <yiqing.yao@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/soc21.c

index e080440..1d4013e 100644 (file)
@@ -584,10 +584,6 @@ static int soc21_common_early_init(void *handle)
                        AMD_PG_SUPPORT_JPEG |
                        AMD_PG_SUPPORT_ATHUB |
                        AMD_PG_SUPPORT_MMHUB;
-               if (amdgpu_sriov_vf(adev)) {
-                       adev->cg_flags = 0;
-                       adev->pg_flags = 0;
-               }
                adev->external_rev_id = adev->rev_id + 0x1; // TODO: need update
                break;
        case IP_VERSION(11, 0, 2):
@@ -645,11 +641,6 @@ static int soc21_common_early_init(void *handle)
                adev->pg_flags = AMD_PG_SUPPORT_VCN |
                        AMD_PG_SUPPORT_VCN_DPG |
                        AMD_PG_SUPPORT_JPEG;
-               if (amdgpu_sriov_vf(adev)) {
-                       /* hypervisor control CG and PG enablement */
-                       adev->cg_flags = 0;
-                       adev->pg_flags = 0;
-               }
                adev->external_rev_id = adev->rev_id + 0x20;
                break;
        default:
@@ -657,6 +648,9 @@ static int soc21_common_early_init(void *handle)
                return -EINVAL;
        }
 
+       if (amdgpu_sriov_vf(adev))
+               amdgpu_virt_init_setting(adev);
+
        return 0;
 }