Commit c1026c6f authored by Yifan Zha's avatar Yifan Zha Committed by Alex Deucher
Browse files

drm/amdgpu: Skip the program of MMMC_VM_AGP_* in SRIOV on MMHUB v3_0_0



[Why]
VF should not program these registers, the value were defined in the host.

[How]
Skip writing them in SRIOV environment and program them on host side.

Acked-by: default avatarChristian König <christian.koenig@amd.com>
Signed-off-by: default avatarYifan Zha <Yifan.Zha@amd.com>
Signed-off-by: default avatarHorace Chen <horace.chen@amd.com>
Reviewed-by: default avatarHawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 425fede6
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -169,17 +169,17 @@ static void mmhub_v3_0_init_system_aperture_regs(struct amdgpu_device *adev)
	uint64_t value;
	uint32_t tmp;

	/* Disable AGP. */
	WREG32_SOC15(MMHUB, 0, regMMMC_VM_AGP_BASE, 0);
	WREG32_SOC15(MMHUB, 0, regMMMC_VM_AGP_TOP, 0);
	WREG32_SOC15(MMHUB, 0, regMMMC_VM_AGP_BOT, 0x00FFFFFF);

	if (!amdgpu_sriov_vf(adev)) {
		/*
		 * the new L1 policy will block SRIOV guest from writing
		 * these regs, and they will be programed at host.
		 * so skip programing these regs.
		 */
		/* Disable AGP. */
		WREG32_SOC15(MMHUB, 0, regMMMC_VM_AGP_BASE, 0);
		WREG32_SOC15(MMHUB, 0, regMMMC_VM_AGP_TOP, 0);
		WREG32_SOC15(MMHUB, 0, regMMMC_VM_AGP_BOT, 0x00FFFFFF);

		/* Program the system aperture low logical page number. */
		WREG32_SOC15(MMHUB, 0, regMMMC_VM_SYSTEM_APERTURE_LOW_ADDR,
			     adev->gmc.vram_start >> 18);