aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2019-02-01 11:11:29 -0500
committerAlex Deucher <alexander.deucher@amd.com>2019-03-19 16:36:48 -0400
commitadc7bfe50bd946b51a8a93ac15085cd218a2a9af (patch)
treef12c7ef811061714fa6ce356239eeb62692002a4 /drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
parente35fb064d8d4de8ecea38dae48f04d0253e3d9be (diff)
drm/amdgpu: drop the huge page flag
Not needed any more since we now free PDs/PTs on demand. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com> Acked-by: Huang Rui <ray.huang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c14
1 files changed, 1 insertions, 13 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
index 92334efa19a8..045da0e5691c 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
@@ -1371,10 +1371,6 @@ static void amdgpu_vm_update_pde(struct amdgpu_pte_update_params *params,
1371 uint64_t pde, pt, flags; 1371 uint64_t pde, pt, flags;
1372 unsigned level; 1372 unsigned level;
1373 1373
1374 /* Don't update huge pages here */
1375 if (entry->huge)
1376 return;
1377
1378 for (level = 0, pbo = bo->parent; pbo; ++level) 1374 for (level = 0, pbo = bo->parent; pbo; ++level)
1379 pbo = pbo->parent; 1375 pbo = pbo->parent;
1380 1376
@@ -1638,13 +1634,6 @@ static int amdgpu_vm_update_ptes(struct amdgpu_pte_update_params *params,
1638 continue; 1634 continue;
1639 } 1635 }
1640 1636
1641 /* If it isn't already handled it can't be a huge page */
1642 if (cursor.entry->huge) {
1643 /* Add the entry to the relocated list to update it. */
1644 cursor.entry->huge = false;
1645 amdgpu_vm_bo_relocated(&cursor.entry->base);
1646 }
1647
1648 shift = amdgpu_vm_level_shift(adev, cursor.level); 1637 shift = amdgpu_vm_level_shift(adev, cursor.level);
1649 parent_shift = amdgpu_vm_level_shift(adev, cursor.level - 1); 1638 parent_shift = amdgpu_vm_level_shift(adev, cursor.level - 1);
1650 if (adev->asic_type < CHIP_VEGA10) { 1639 if (adev->asic_type < CHIP_VEGA10) {
@@ -1703,9 +1692,8 @@ static int amdgpu_vm_update_ptes(struct amdgpu_pte_update_params *params,
1703 } while (frag_start < entry_end); 1692 } while (frag_start < entry_end);
1704 1693
1705 if (amdgpu_vm_pt_descendant(adev, &cursor)) { 1694 if (amdgpu_vm_pt_descendant(adev, &cursor)) {
1706 /* Mark all child entries as huge */ 1695 /* Free all child entries */
1707 while (cursor.pfn < frag_start) { 1696 while (cursor.pfn < frag_start) {
1708 cursor.entry->huge = true;
1709 amdgpu_vm_free_pts(adev, params->vm, &cursor); 1697 amdgpu_vm_free_pts(adev, params->vm, &cursor);
1710 amdgpu_vm_pt_next(adev, &cursor); 1698 amdgpu_vm_pt_next(adev, &cursor);
1711 } 1699 }