Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b8691c76 authored by Jim Qu's avatar Jim Qu Committed by Alex Deucher
Browse files

drm/amd/amdgpu: move get memory type function from early init to sw init



On PX system, it will get memory type before gpu post , and get unkown type.

Signed-off-by: default avatarJim Qu <Jim.Qu@amd.com>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Reviewed-by: default avatarHawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 73cc9079
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -794,14 +794,6 @@ static int gmc_v6_0_early_init(void *handle)
	gmc_v6_0_set_gart_funcs(adev);
	gmc_v6_0_set_irq_funcs(adev);

	if (adev->flags & AMD_IS_APU) {
		adev->mc.vram_type = AMDGPU_VRAM_TYPE_UNKNOWN;
	} else {
		u32 tmp = RREG32(mmMC_SEQ_MISC0);
		tmp &= MC_SEQ_MISC0__MT__MASK;
		adev->mc.vram_type = gmc_v6_0_convert_vram_type(tmp);
	}

	return 0;
}

@@ -821,6 +813,14 @@ static int gmc_v6_0_sw_init(void *handle)
	int dma_bits;
	struct amdgpu_device *adev = (struct amdgpu_device *)handle;

	if (adev->flags & AMD_IS_APU) {
		adev->mc.vram_type = AMDGPU_VRAM_TYPE_UNKNOWN;
	} else {
		u32 tmp = RREG32(mmMC_SEQ_MISC0);
		tmp &= MC_SEQ_MISC0__MT__MASK;
		adev->mc.vram_type = gmc_v6_0_convert_vram_type(tmp);
	}

	r = amdgpu_irq_add_id(adev, AMDGPU_IH_CLIENTID_LEGACY, 146, &adev->mc.vm_fault);
	if (r)
		return r;