Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amdgpu: remove sriov vf mmhub system aperture and fb location programming

host driver programmed mmhub system aperture and fb location for vf, no
need to program in guest side.

Signed-off-by: Zhigang Luo <zhigang.luo@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Reviewed-By : Shaoyun.liu <shaoyunl@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Zhigang Luo and committed by
Alex Deucher
488b83f4 95066fd5

+3 -14
+3 -14
drivers/gpu/drm/amd/amdgpu/mmhub_v1_7.c
··· 111 111 WREG32_SOC15(MMHUB, 0, regMC_VM_AGP_BOT, adev->gmc.agp_start >> 24); 112 112 WREG32_SOC15(MMHUB, 0, regMC_VM_AGP_TOP, adev->gmc.agp_end >> 24); 113 113 114 + if (amdgpu_sriov_vf(adev)) 115 + return; 116 + 114 117 /* Program the system aperture low logical page number. */ 115 118 WREG32_SOC15(MMHUB, 0, regMC_VM_SYSTEM_APERTURE_LOW_ADDR, 116 119 min(adev->gmc.fb_start, adev->gmc.agp_start) >> 18); ··· 132 129 WREG32_SOC15(MMHUB, 0, regMC_VM_SYSTEM_APERTURE_LOW_ADDR, 0x3FFFFFFF); 133 130 WREG32_SOC15(MMHUB, 0, regMC_VM_SYSTEM_APERTURE_HIGH_ADDR, 0); 134 131 } 135 - if (amdgpu_sriov_vf(adev)) 136 - return; 137 132 138 133 /* Set default page address. */ 139 134 value = amdgpu_gmc_vram_mc2pa(adev, adev->vram_scratch.gpu_addr); ··· 333 332 334 333 static int mmhub_v1_7_gart_enable(struct amdgpu_device *adev) 335 334 { 336 - if (amdgpu_sriov_vf(adev)) { 337 - /* 338 - * MC_VM_FB_LOCATION_BASE/TOP is NULL for VF, becuase they are 339 - * VF copy registers so vbios post doesn't program them, for 340 - * SRIOV driver need to program them 341 - */ 342 - WREG32_SOC15(MMHUB, 0, regMC_VM_FB_LOCATION_BASE, 343 - adev->gmc.vram_start >> 24); 344 - WREG32_SOC15(MMHUB, 0, regMC_VM_FB_LOCATION_TOP, 345 - adev->gmc.vram_end >> 24); 346 - } 347 - 348 335 /* GART Enable. */ 349 336 mmhub_v1_7_init_gart_aperture_regs(adev); 350 337 mmhub_v1_7_init_system_aperture_regs(adev);