[PATCH 1/2] drm/amdgpu/gmc11: fix system aperture set when AGP is enabled
Christian König
ckoenig.leichtzumerken at gmail.com
Thu Feb 9 08:32:30 UTC 2023
Am 09.02.23 um 05:46 schrieb Alex Deucher:
> Need to cover both FB and AGP apertures.
>
> Fixes: c6eafee038ed ("Revert "Revert "drm/amdgpu/gmc11: enable AGP aperture""")
> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
Reviewed-by: Christian König <christian.koenig at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/gfxhub_v3_0.c | 4 ++--
> drivers/gpu/drm/amd/amdgpu/mmhub_v3_0.c | 4 ++--
> drivers/gpu/drm/amd/amdgpu/mmhub_v3_0_1.c | 4 ++--
> drivers/gpu/drm/amd/amdgpu/mmhub_v3_0_2.c | 4 ++--
> 4 files changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfxhub_v3_0.c b/drivers/gpu/drm/amd/amdgpu/gfxhub_v3_0.c
> index 7c069010ca9a..be0d0f47415e 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfxhub_v3_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfxhub_v3_0.c
> @@ -159,9 +159,9 @@ static void gfxhub_v3_0_init_system_aperture_regs(struct amdgpu_device *adev)
>
> /* Program the system aperture low logical page number. */
> WREG32_SOC15(GC, 0, regGCMC_VM_SYSTEM_APERTURE_LOW_ADDR,
> - adev->gmc.vram_start >> 18);
> + min(adev->gmc.fb_start, adev->gmc.agp_start) >> 18);
> WREG32_SOC15(GC, 0, regGCMC_VM_SYSTEM_APERTURE_HIGH_ADDR,
> - adev->gmc.vram_end >> 18);
> + max(adev->gmc.fb_end, adev->gmc.agp_end) >> 18);
>
> /* Set default page address. */
> value = adev->mem_scratch.gpu_addr - adev->gmc.vram_start
> diff --git a/drivers/gpu/drm/amd/amdgpu/mmhub_v3_0.c b/drivers/gpu/drm/amd/amdgpu/mmhub_v3_0.c
> index 923fc09bc8fc..164948c50ac3 100644
> --- a/drivers/gpu/drm/amd/amdgpu/mmhub_v3_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/mmhub_v3_0.c
> @@ -184,9 +184,9 @@ static void mmhub_v3_0_init_system_aperture_regs(struct amdgpu_device *adev)
>
> /* Program the system aperture low logical page number. */
> WREG32_SOC15(MMHUB, 0, regMMMC_VM_SYSTEM_APERTURE_LOW_ADDR,
> - adev->gmc.vram_start >> 18);
> + min(adev->gmc.fb_start, adev->gmc.agp_start) >> 18);
> WREG32_SOC15(MMHUB, 0, regMMMC_VM_SYSTEM_APERTURE_HIGH_ADDR,
> - adev->gmc.vram_end >> 18);
> + max(adev->gmc.fb_end, adev->gmc.agp_end) >> 18);
>
> /* Set default page address. */
> value = adev->mem_scratch.gpu_addr - adev->gmc.vram_start +
> diff --git a/drivers/gpu/drm/amd/amdgpu/mmhub_v3_0_1.c b/drivers/gpu/drm/amd/amdgpu/mmhub_v3_0_1.c
> index c8d478f2afdc..26509b6b8c24 100644
> --- a/drivers/gpu/drm/amd/amdgpu/mmhub_v3_0_1.c
> +++ b/drivers/gpu/drm/amd/amdgpu/mmhub_v3_0_1.c
> @@ -183,9 +183,9 @@ static void mmhub_v3_0_1_init_system_aperture_regs(struct amdgpu_device *adev)
> */
> /* Program the system aperture low logical page number. */
> WREG32_SOC15(MMHUB, 0, regMMMC_VM_SYSTEM_APERTURE_LOW_ADDR,
> - adev->gmc.vram_start >> 18);
> + min(adev->gmc.fb_start, adev->gmc.agp_start) >> 18);
> WREG32_SOC15(MMHUB, 0, regMMMC_VM_SYSTEM_APERTURE_HIGH_ADDR,
> - adev->gmc.vram_end >> 18);
> + max(adev->gmc.fb_end, adev->gmc.agp_end) >> 18);
>
> /* Set default page address. */
> value = adev->mem_scratch.gpu_addr - adev->gmc.vram_start +
> diff --git a/drivers/gpu/drm/amd/amdgpu/mmhub_v3_0_2.c b/drivers/gpu/drm/amd/amdgpu/mmhub_v3_0_2.c
> index 51580302ec42..26abbc6a47ab 100644
> --- a/drivers/gpu/drm/amd/amdgpu/mmhub_v3_0_2.c
> +++ b/drivers/gpu/drm/amd/amdgpu/mmhub_v3_0_2.c
> @@ -175,9 +175,9 @@ static void mmhub_v3_0_2_init_system_aperture_regs(struct amdgpu_device *adev)
> */
> /* Program the system aperture low logical page number. */
> WREG32_SOC15(MMHUB, 0, regMMMC_VM_SYSTEM_APERTURE_LOW_ADDR,
> - adev->gmc.vram_start >> 18);
> + min(adev->gmc.fb_start, adev->gmc.agp_start) >> 18);
> WREG32_SOC15(MMHUB, 0, regMMMC_VM_SYSTEM_APERTURE_HIGH_ADDR,
> - adev->gmc.vram_end >> 18);
> + max(adev->gmc.fb_end, adev->gmc.agp_end) >> 18);
> }
>
> /* Set default page address. */
More information about the amd-gfx
mailing list