Commit 3de60d96 authored by Hawking Zhang's avatar Hawking Zhang Committed by Alex Deucher
Browse files

drm/amdgpu: use physical_node_id to calculate aper_base



Similar as xgmi connected gpu nodes, physical_node_id
* segment_size should be used to calculate the offset
of aper_base.

The asic type check is redundant. once physical_node_id
and segment_size are initialized, it should be count
on.

Signed-off-by: default avatarHawking Zhang <Hawking.Zhang@amd.com>
Reviewed-by: default avatarKevin Wang <kevin1.wang@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 063a1e83
Loading
Loading
Loading
Loading
+6 −12
Original line number Diff line number Diff line
@@ -1263,19 +1263,13 @@ static int gmc_v9_0_mc_init(struct amdgpu_device *adev)
	 */

	/* check whether both host-gpu and gpu-gpu xgmi links exist */
	if (adev->gmc.xgmi.supported && adev->gmc.xgmi.connected_to_cpu &&
	    adev->asic_type == CHIP_ALDEBARAN) {

		adev->gmc.aper_base = adev->gfxhub.funcs->get_mc_fb_offset(adev) +
			adev->gmc.xgmi.node_id *
	if ((adev->flags & AMD_IS_APU) ||
	    (adev->gmc.xgmi.supported &&
	     adev->gmc.xgmi.connected_to_cpu)) {
		adev->gmc.aper_base =
			adev->gfxhub.funcs->get_mc_fb_offset(adev) +
			adev->gmc.xgmi.physical_node_id *
			adev->gmc.xgmi.node_segment_size;

		adev->gmc.aper_size = adev->gmc.real_vram_size;

	}

	if (adev->flags & AMD_IS_APU) {
		adev->gmc.aper_base = adev->gfxhub.funcs->get_mc_fb_offset(adev);
		adev->gmc.aper_size = adev->gmc.real_vram_size;
	}