[PATCH] drm/amdgpu: set system aperture to cover whole FB region
Alex Deucher
alexdeucher at gmail.com
Mon Nov 12 17:06:41 UTC 2018
On Mon, Nov 12, 2018 at 12:02 PM Liu, Shaoyun <Shaoyun.Liu at amd.com> wrote:
>
> In XGMI configuration, the FB region covers vram region from peer
> device, adjust system aperture to cover all of them
>
> Change-Id: I15b14727bbd11f7c2a237fb6ca7b32fb708b2e32
> Signed-off-by: shaoyunl <shaoyun.liu at amd.com>
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.c | 6 +++---
> drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c | 6 +++---
> 2 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.c b/drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.c
> index 6a48cad..f5edddf 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.c
> @@ -77,7 +77,7 @@ static void gfxhub_v1_0_init_system_aperture_regs(struct amdgpu_device *adev)
>
> /* Program the system aperture low logical page number. */
> WREG32_SOC15(GC, 0, mmMC_VM_SYSTEM_APERTURE_LOW_ADDR,
> - min(adev->gmc.vram_start, adev->gmc.agp_start) >> 18);
> + min(adev->gmc.fb_start, adev->gmc.agp_start) >> 18);
>
> if (adev->asic_type == CHIP_RAVEN && adev->rev_id >= 0x8)
> /*
> @@ -87,11 +87,11 @@ static void gfxhub_v1_0_init_system_aperture_regs(struct amdgpu_device *adev)
> * to get rid of the VM fault and hardware hang.
> */
> WREG32_SOC15(GC, 0, mmMC_VM_SYSTEM_APERTURE_HIGH_ADDR,
> - max((adev->gmc.vram_end >> 18) + 0x1,
> + max((adev->gmc.fb_end >> 18) + 0x1,
> adev->gmc.agp_end >> 18));
> else
> WREG32_SOC15(GC, 0, mmMC_VM_SYSTEM_APERTURE_HIGH_ADDR,
> - max(adev->gmc.vram_end, adev->gmc.agp_end) >> 18);
> + max(adev->gmc.fb_end, adev->gmc.agp_end) >> 18);
>
> /* Set default page address. */
> value = adev->vram_scratch.gpu_addr - adev->gmc.vram_start
> diff --git a/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c b/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c
> index 3881a42..d0d966d 100644
> --- a/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c
> @@ -95,7 +95,7 @@ static void mmhub_v1_0_init_system_aperture_regs(struct amdgpu_device *adev)
>
> /* Program the system aperture low logical page number. */
> WREG32_SOC15(MMHUB, 0, mmMC_VM_SYSTEM_APERTURE_LOW_ADDR,
> - min(adev->gmc.vram_start, adev->gmc.agp_start) >> 18);
> + min(adev->gmc.fb_start, adev->gmc.agp_start) >> 18);
>
> if (adev->asic_type == CHIP_RAVEN && adev->rev_id >= 0x8)
> /*
> @@ -105,11 +105,11 @@ static void mmhub_v1_0_init_system_aperture_regs(struct amdgpu_device *adev)
> * to get rid of the VM fault and hardware hang.
> */
> WREG32_SOC15(MMHUB, 0, mmMC_VM_SYSTEM_APERTURE_HIGH_ADDR,
> - max((adev->gmc.vram_end >> 18) + 0x1,
> + max((adev->gmc.fb_end >> 18) + 0x1,
> adev->gmc.agp_end >> 18));
> else
> WREG32_SOC15(MMHUB, 0, mmMC_VM_SYSTEM_APERTURE_HIGH_ADDR,
> - max(adev->gmc.vram_end, adev->gmc.agp_end) >> 18);
> + max(adev->gmc.fb_end, adev->gmc.agp_end) >> 18);
>
> /* Set default page address. */
> value = adev->vram_scratch.gpu_addr - adev->gmc.vram_start +
> --
> 2.7.4
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
More information about the amd-gfx
mailing list