aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2018-08-22 08:11:19 -0400
committerAlex Deucher <alexander.deucher@amd.com>2018-08-27 16:19:42 -0400
commit24a8d289d532003a167b8f52f97c50430db76ca3 (patch)
tree92b5f81145f3de5a4659dc814a65ca0d9a386e02 /drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
parentbbc9fb10e581c5463961506df7504356b3bd0a61 (diff)
drm/amdgpu: add amdgpu_gmc_get_pde_for_bo helper v2
Helper to get the PDE for a PD/PT. v2: improve documentation Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com> Reviewed-by: Huang Rui <ray.huang@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c23
1 files changed, 20 insertions, 3 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
index eb08a03b82a0..2f304f9dd543 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
@@ -1428,13 +1428,14 @@ bool amdgpu_ttm_tt_is_readonly(struct ttm_tt *ttm)
1428} 1428}
1429 1429
1430/** 1430/**
1431 * amdgpu_ttm_tt_pte_flags - Compute PTE flags for ttm_tt object 1431 * amdgpu_ttm_tt_pde_flags - Compute PDE flags for ttm_tt object
1432 * 1432 *
1433 * @ttm: The ttm_tt object to compute the flags for 1433 * @ttm: The ttm_tt object to compute the flags for
1434 * @mem: The memory registry backing this ttm_tt object 1434 * @mem: The memory registry backing this ttm_tt object
1435 *
1436 * Figure out the flags to use for a VM PDE (Page Directory Entry).
1435 */ 1437 */
1436uint64_t amdgpu_ttm_tt_pte_flags(struct amdgpu_device *adev, struct ttm_tt *ttm, 1438uint64_t amdgpu_ttm_tt_pde_flags(struct ttm_tt *ttm, struct ttm_mem_reg *mem)
1437 struct ttm_mem_reg *mem)
1438{ 1439{
1439 uint64_t flags = 0; 1440 uint64_t flags = 0;
1440 1441
@@ -1448,6 +1449,22 @@ uint64_t amdgpu_ttm_tt_pte_flags(struct amdgpu_device *adev, struct ttm_tt *ttm,
1448 flags |= AMDGPU_PTE_SNOOPED; 1449 flags |= AMDGPU_PTE_SNOOPED;
1449 } 1450 }
1450 1451
1452 return flags;
1453}
1454
1455/**
1456 * amdgpu_ttm_tt_pte_flags - Compute PTE flags for ttm_tt object
1457 *
1458 * @ttm: The ttm_tt object to compute the flags for
1459 * @mem: The memory registry backing this ttm_tt object
1460
1461 * Figure out the flags to use for a VM PTE (Page Table Entry).
1462 */
1463uint64_t amdgpu_ttm_tt_pte_flags(struct amdgpu_device *adev, struct ttm_tt *ttm,
1464 struct ttm_mem_reg *mem)
1465{
1466 uint64_t flags = amdgpu_ttm_tt_pde_flags(ttm, mem);
1467
1451 flags |= adev->gart.gart_pte_flags; 1468 flags |= adev->gart.gart_pte_flags;
1452 flags |= AMDGPU_PTE_READABLE; 1469 flags |= AMDGPU_PTE_READABLE;
1453 1470