drm/amdgpu: access stolen VRAM directly on KV/KB (v2)
We don't need to use the PCI BAR on APUs. This allows us to access the full VRAM directly without being limited by the BAR size. v2: squash in 64bit shift fix Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
8485b5e187
commit
f39093059b
@ -375,9 +375,16 @@ static int gmc_v7_0_mc_init(struct amdgpu_device *adev)
|
|||||||
/* size in MB on si */
|
/* size in MB on si */
|
||||||
adev->mc.mc_vram_size = RREG32(mmCONFIG_MEMSIZE) * 1024ULL * 1024ULL;
|
adev->mc.mc_vram_size = RREG32(mmCONFIG_MEMSIZE) * 1024ULL * 1024ULL;
|
||||||
adev->mc.real_vram_size = RREG32(mmCONFIG_MEMSIZE) * 1024ULL * 1024ULL;
|
adev->mc.real_vram_size = RREG32(mmCONFIG_MEMSIZE) * 1024ULL * 1024ULL;
|
||||||
adev->mc.visible_vram_size = adev->mc.aper_size;
|
|
||||||
|
#ifdef CONFIG_X86_64
|
||||||
|
if (adev->flags & AMD_IS_APU) {
|
||||||
|
adev->mc.aper_base = ((u64)RREG32(mmMC_VM_FB_OFFSET)) << 22;
|
||||||
|
adev->mc.aper_size = adev->mc.real_vram_size;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* In case the PCI BAR is larger than the actual amount of vram */
|
/* In case the PCI BAR is larger than the actual amount of vram */
|
||||||
|
adev->mc.visible_vram_size = adev->mc.aper_size;
|
||||||
if (adev->mc.visible_vram_size > adev->mc.real_vram_size)
|
if (adev->mc.visible_vram_size > adev->mc.real_vram_size)
|
||||||
adev->mc.visible_vram_size = adev->mc.real_vram_size;
|
adev->mc.visible_vram_size = adev->mc.real_vram_size;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user