drm/amdgpu: Skip the program of MMMC_VM_AGP_* in SRIOV
authorPeng Ju Zhou <PengJu.Zhou@amd.com>
Wed, 28 Apr 2021 07:41:25 +0000 (15:41 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 21 May 2021 14:32:09 +0000 (10:32 -0400)
KMD should not program these registers, the value were
defined in the host, so skip them in the SRIOV environment.

Signed-off-by: Peng Ju Zhou <PengJu.Zhou@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/mmhub_v2_0.c

index dedc6b7259390afc845253753771de68681d1a32..f7e93bbc4e157f963bff92c10dc22a116ca92ec9 100644 (file)
@@ -224,12 +224,12 @@ static void mmhub_v2_0_init_system_aperture_regs(struct amdgpu_device *adev)
        uint64_t value;
        uint32_t tmp;
 
-       /* Program the AGP BAR */
-       WREG32_SOC15_RLC(MMHUB, 0, mmMMMC_VM_AGP_BASE, 0);
-       WREG32_SOC15_RLC(MMHUB, 0, mmMMMC_VM_AGP_BOT, adev->gmc.agp_start >> 24);
-       WREG32_SOC15_RLC(MMHUB, 0, mmMMMC_VM_AGP_TOP, adev->gmc.agp_end >> 24);
-
        if (!amdgpu_sriov_vf(adev)) {
+               /* Program the AGP BAR */
+               WREG32_SOC15_RLC(MMHUB, 0, mmMMMC_VM_AGP_BASE, 0);
+               WREG32_SOC15_RLC(MMHUB, 0, mmMMMC_VM_AGP_BOT, adev->gmc.agp_start >> 24);
+               WREG32_SOC15_RLC(MMHUB, 0, mmMMMC_VM_AGP_TOP, adev->gmc.agp_end >> 24);
+
                /* Program the system aperture low logical page number. */
                WREG32_SOC15(MMHUB, 0, mmMMMC_VM_SYSTEM_APERTURE_LOW_ADDR,
                             min(adev->gmc.fb_start, adev->gmc.agp_start) >> 18);