drm/amdgpu: assign fb_start/end in mmhub v9.4 interface
authorLe Ma <le.ma@amd.com>
Mon, 22 Apr 2019 09:14:59 +0000 (17:14 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 18 Jul 2019 19:18:06 +0000 (14:18 -0500)
Align with mmhub v1.0.

Signed-off-by: Le Ma <le.ma@amd.com>
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/mmhub_v9_4.c

index c0eb8f0a21829522b7beb47d427f6a9eff15f5b4..33b0de54a5da1217fd034c6fcaa2fc9f04784581 100644 (file)
@@ -39,10 +39,17 @@ u64 mmhub_v9_4_get_fb_location(struct amdgpu_device *adev)
 {
        /* The base should be same b/t 2 mmhubs on Acrturus. Read one here. */
        u64 base = RREG32_SOC15(MMHUB, 0, mmVMSHAREDVC0_MC_VM_FB_LOCATION_BASE);
+       u64 top = RREG32_SOC15(MMHUB, 0, mmVMSHAREDVC0_MC_VM_FB_LOCATION_TOP);
 
        base &= VMSHAREDVC0_MC_VM_FB_LOCATION_BASE__FB_BASE_MASK;
        base <<= 24;
 
+       top &= VMSHAREDVC0_MC_VM_FB_LOCATION_TOP__FB_TOP_MASK;
+       top <<= 24;
+
+       adev->gmc.fb_start = base;
+       adev->gmc.fb_end = top;
+
        return base;
 }