[PATCH 07/18] drm/amdgpu: abstract disable identity aperture for gfxhub/mmhub
Deucher, Alexander
Alexander.Deucher at amd.com
Wed May 31 16:21:17 UTC 2017
> -----Original Message-----
> From: amd-gfx [mailto:amd-gfx-bounces at lists.freedesktop.org] On Behalf
> Of Huang Rui
> Sent: Wednesday, May 31, 2017 12:15 PM
> To: amd-gfx at lists.freedesktop.org; Deucher, Alexander; Koenig, Christian
> Cc: Wang, Ken; Huang, Ray; Huan, Alvin
> Subject: [PATCH 07/18] drm/amdgpu: abstract disable identity aperture for
> gfxhub/mmhub
>
> Signed-off-by: Huang Rui <ray.huang at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.c | 37 ++++++++++++++++++-
> -------------
> drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c | 36 +++++++++++++++++-
> -------------
> 2 files changed, 41 insertions(+), 32 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.c
> b/drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.c
> index fbabd11..5fdc9be 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.c
> @@ -167,6 +167,26 @@ static void
> gfxhub_v1_0_enable_system_domain(struct amdgpu_device *adev)
> WREG32(SOC15_REG_OFFSET(GC, 0, mmVM_CONTEXT0_CNTL),
> tmp);
> }
>
> +static void gfxhub_v1_0_dis_identity_aperture(struct amdgpu_device
> *adev)
Call this function gfxhub_v1_0_disable_identity_aperture() for consistency with the other newly abstracted functions. Same for mmhub.
Alex
> +{
> + WREG32(SOC15_REG_OFFSET(GC, 0,
> +
> mmVM_L2_CONTEXT1_IDENTITY_APERTURE_LOW_ADDR_LO32),
> + 0XFFFFFFFF);
> + WREG32(SOC15_REG_OFFSET(GC, 0,
> +
> mmVM_L2_CONTEXT1_IDENTITY_APERTURE_LOW_ADDR_HI32),
> 0x0000000F);
> +
> + WREG32(SOC15_REG_OFFSET(GC, 0,
> +
> mmVM_L2_CONTEXT1_IDENTITY_APERTURE_HIGH_ADDR_LO32),
> 0);
> + WREG32(SOC15_REG_OFFSET(GC, 0,
> +
> mmVM_L2_CONTEXT1_IDENTITY_APERTURE_HIGH_ADDR_HI32), 0);
> +
> + WREG32(SOC15_REG_OFFSET(GC, 0,
> + mmVM_L2_CONTEXT_IDENTITY_PHYSICAL_OFFSET_LO32),
> 0);
> + WREG32(SOC15_REG_OFFSET(GC, 0,
> + mmVM_L2_CONTEXT_IDENTITY_PHYSICAL_OFFSET_HI32),
> 0);
> +
> +}
> +
> int gfxhub_v1_0_gart_enable(struct amdgpu_device *adev)
> {
> u32 tmp;
> @@ -193,22 +213,7 @@ int gfxhub_v1_0_gart_enable(struct amdgpu_device
> *adev)
> gfxhub_v1_0_init_cache_regs(adev);
>
> gfxhub_v1_0_enable_system_domain(adev);
> -
> - /* Disable identity aperture.*/
> - WREG32(SOC15_REG_OFFSET(GC, 0,
> -
> mmVM_L2_CONTEXT1_IDENTITY_APERTURE_LOW_ADDR_LO32),
> 0XFFFFFFFF);
> - WREG32(SOC15_REG_OFFSET(GC, 0,
> -
> mmVM_L2_CONTEXT1_IDENTITY_APERTURE_LOW_ADDR_HI32),
> 0x0000000F);
> -
> - WREG32(SOC15_REG_OFFSET(GC, 0,
> -
> mmVM_L2_CONTEXT1_IDENTITY_APERTURE_HIGH_ADDR_LO32),
> 0);
> - WREG32(SOC15_REG_OFFSET(GC, 0,
> -
> mmVM_L2_CONTEXT1_IDENTITY_APERTURE_HIGH_ADDR_HI32), 0);
> -
> - WREG32(SOC15_REG_OFFSET(GC, 0,
> - mmVM_L2_CONTEXT_IDENTITY_PHYSICAL_OFFSET_LO32),
> 0);
> - WREG32(SOC15_REG_OFFSET(GC, 0,
> - mmVM_L2_CONTEXT_IDENTITY_PHYSICAL_OFFSET_HI32),
> 0);
> + gfxhub_v1_0_dis_identity_aperture(adev);
>
> for (i = 0; i <= 14; i++) {
> tmp = RREG32(SOC15_REG_OFFSET(GC, 0,
> mmVM_CONTEXT1_CNTL) + i);
> diff --git a/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c
> b/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c
> index 888ce7f..84148578 100644
> --- a/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c
> @@ -180,6 +180,25 @@ static void
> mmhub_v1_0_enable_system_domain(struct amdgpu_device *adev)
> WREG32(SOC15_REG_OFFSET(MMHUB, 0,
> mmVM_CONTEXT0_CNTL), tmp);
> }
>
> +static void mmhub_v1_0_dis_identity_aperture(struct amdgpu_device
> *adev)
> +{
> + WREG32(SOC15_REG_OFFSET(MMHUB, 0,
> +
> mmVM_L2_CONTEXT1_IDENTITY_APERTURE_LOW_ADDR_LO32),
> + 0XFFFFFFFF);
> + WREG32(SOC15_REG_OFFSET(MMHUB, 0,
> +
> mmVM_L2_CONTEXT1_IDENTITY_APERTURE_LOW_ADDR_HI32),
> 0x0000000F);
> +
> + WREG32(SOC15_REG_OFFSET(MMHUB, 0,
> +
> mmVM_L2_CONTEXT1_IDENTITY_APERTURE_HIGH_ADDR_LO32),
> 0);
> + WREG32(SOC15_REG_OFFSET(MMHUB, 0,
> +
> mmVM_L2_CONTEXT1_IDENTITY_APERTURE_HIGH_ADDR_HI32), 0);
> +
> + WREG32(SOC15_REG_OFFSET(MMHUB, 0,
> + mmVM_L2_CONTEXT_IDENTITY_PHYSICAL_OFFSET_LO32),
> 0);
> + WREG32(SOC15_REG_OFFSET(MMHUB, 0,
> + mmVM_L2_CONTEXT_IDENTITY_PHYSICAL_OFFSET_HI32),
> 0);
> +}
> +
> int mmhub_v1_0_gart_enable(struct amdgpu_device *adev)
> {
> u32 tmp;
> @@ -206,22 +225,7 @@ int mmhub_v1_0_gart_enable(struct
> amdgpu_device *adev)
> mmhub_v1_0_init_cache_regs(adev);
>
> mmhub_v1_0_enable_system_domain(adev);
> -
> - /* Disable identity aperture.*/
> - WREG32(SOC15_REG_OFFSET(MMHUB, 0,
> -
> mmVM_L2_CONTEXT1_IDENTITY_APERTURE_LOW_ADDR_LO32),
> 0XFFFFFFFF);
> - WREG32(SOC15_REG_OFFSET(MMHUB, 0,
> -
> mmVM_L2_CONTEXT1_IDENTITY_APERTURE_LOW_ADDR_HI32),
> 0x0000000F);
> -
> - WREG32(SOC15_REG_OFFSET(MMHUB, 0,
> -
> mmVM_L2_CONTEXT1_IDENTITY_APERTURE_HIGH_ADDR_LO32),
> 0);
> - WREG32(SOC15_REG_OFFSET(MMHUB, 0,
> -
> mmVM_L2_CONTEXT1_IDENTITY_APERTURE_HIGH_ADDR_HI32), 0);
> -
> - WREG32(SOC15_REG_OFFSET(MMHUB, 0,
> - mmVM_L2_CONTEXT_IDENTITY_PHYSICAL_OFFSET_LO32),
> 0);
> - WREG32(SOC15_REG_OFFSET(MMHUB, 0,
> - mmVM_L2_CONTEXT_IDENTITY_PHYSICAL_OFFSET_HI32),
> 0);
> + mmhub_v1_0_dis_identity_aperture(adev);
>
> for (i = 0; i <= 14; i++) {
> tmp = RREG32(SOC15_REG_OFFSET(MMHUB, 0,
> mmVM_CONTEXT1_CNTL)
> --
> 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