mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-06 00:39:48 +00:00
drm/amdgpu/gmc6: use the vram location programmed by the vbios
This makes mc programming much simpler in future patches. Since evergreen, the vbios has been programming the fb location to the proper vram size. The only reason to reprogram it would be to change the location. Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
e0205a7156
commit
ba3a5b83dd
1 changed files with 4 additions and 1 deletions
|
@ -228,12 +228,15 @@ static int gmc_v6_0_mc_load_microcode(struct amdgpu_device *adev)
|
||||||
static void gmc_v6_0_vram_gtt_location(struct amdgpu_device *adev,
|
static void gmc_v6_0_vram_gtt_location(struct amdgpu_device *adev,
|
||||||
struct amdgpu_mc *mc)
|
struct amdgpu_mc *mc)
|
||||||
{
|
{
|
||||||
|
u64 base = RREG32(mmMC_VM_FB_LOCATION) & 0xFFFF;
|
||||||
|
base <<= 24;
|
||||||
|
|
||||||
if (mc->mc_vram_size > 0xFFC0000000ULL) {
|
if (mc->mc_vram_size > 0xFFC0000000ULL) {
|
||||||
dev_warn(adev->dev, "limiting VRAM\n");
|
dev_warn(adev->dev, "limiting VRAM\n");
|
||||||
mc->real_vram_size = 0xFFC0000000ULL;
|
mc->real_vram_size = 0xFFC0000000ULL;
|
||||||
mc->mc_vram_size = 0xFFC0000000ULL;
|
mc->mc_vram_size = 0xFFC0000000ULL;
|
||||||
}
|
}
|
||||||
amdgpu_vram_location(adev, &adev->mc, 0);
|
amdgpu_vram_location(adev, &adev->mc, base);
|
||||||
adev->mc.gtt_base_align = 0;
|
adev->mc.gtt_base_align = 0;
|
||||||
amdgpu_gtt_location(adev, mc);
|
amdgpu_gtt_location(adev, mc);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue