mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-12 13:34:10 +08:00
drm/amdgpu: access stolen VRAM directly on CZ (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
f39093059b
commit
999446a786
@ -467,9 +467,16 @@ static int gmc_v8_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