diff options
author | Christian König <christian.koenig@amd.com> | 2017-11-29 13:27:26 +0100 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2017-12-12 14:46:19 -0500 |
commit | 3de676d8e71c0a4094b3e5005a311c36c6b6ffc6 (patch) | |
tree | 3d41c8fbf1b5f90a310003570fd3bbea4d39204b /drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | |
parent | 6989f2460f7d8163fcc4f0c99e47d62d22ea6f28 (diff) | |
download | op-kernel-dev-3de676d8e71c0a4094b3e5005a311c36c6b6ffc6.zip op-kernel-dev-3de676d8e71c0a4094b3e5005a311c36c6b6ffc6.tar.gz |
drm/amdgpu: allow get_vm_pde to change flags as well
And also provide the level for which we need a PDE.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c index aef5f70..51856e5 100644 --- a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c @@ -474,11 +474,13 @@ static uint64_t gmc_v9_0_get_vm_pte_flags(struct amdgpu_device *adev, return pte_flag; } -static u64 gmc_v9_0_get_vm_pde(struct amdgpu_device *adev, u64 addr) +static void gmc_v9_0_get_vm_pde(struct amdgpu_device *adev, int level, + uint64_t *addr, uint64_t *flags) { - addr = adev->vm_manager.vram_base_offset + addr - adev->mc.vram_start; - BUG_ON(addr & 0xFFFF00000000003FULL); - return addr; + if (!(*flags & AMDGPU_PDE_PTE)) + *addr = adev->vm_manager.vram_base_offset + *addr - + adev->mc.vram_start; + BUG_ON(*addr & 0xFFFF00000000003FULL); } static const struct amdgpu_gart_funcs gmc_v9_0_gart_funcs = { |