diff options
author | Christian König <christian.koenig@amd.com> | 2017-08-30 09:38:45 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2017-08-31 13:45:47 -0400 |
commit | 570144c6522f5f332635d20dfa278cfcc764229c (patch) | |
tree | 93f3194f3134ee6721a7b2159c072f4ad6bab765 /drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | |
parent | ea09729c930223edf492d0ca647c27e7eb0ccb12 (diff) |
drm/amdgpu: cleanup the VM code a bit more
The src isn't used any more after GART hack removal.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@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.c | 20 |
1 files changed, 5 insertions, 15 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c index faa08d5728da..1582feba9289 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | |||
@@ -1476,7 +1476,6 @@ static int amdgpu_vm_frag_ptes(struct amdgpu_pte_update_params *params, | |||
1476 | * | 1476 | * |
1477 | * @adev: amdgpu_device pointer | 1477 | * @adev: amdgpu_device pointer |
1478 | * @exclusive: fence we need to sync to | 1478 | * @exclusive: fence we need to sync to |
1479 | * @src: address where to copy page table entries from | ||
1480 | * @pages_addr: DMA addresses to use for mapping | 1479 | * @pages_addr: DMA addresses to use for mapping |
1481 | * @vm: requested vm | 1480 | * @vm: requested vm |
1482 | * @start: start of mapped range | 1481 | * @start: start of mapped range |
@@ -1490,7 +1489,6 @@ static int amdgpu_vm_frag_ptes(struct amdgpu_pte_update_params *params, | |||
1490 | */ | 1489 | */ |
1491 | static int amdgpu_vm_bo_update_mapping(struct amdgpu_device *adev, | 1490 | static int amdgpu_vm_bo_update_mapping(struct amdgpu_device *adev, |
1492 | struct dma_fence *exclusive, | 1491 | struct dma_fence *exclusive, |
1493 | uint64_t src, | ||
1494 | dma_addr_t *pages_addr, | 1492 | dma_addr_t *pages_addr, |
1495 | struct amdgpu_vm *vm, | 1493 | struct amdgpu_vm *vm, |
1496 | uint64_t start, uint64_t last, | 1494 | uint64_t start, uint64_t last, |
@@ -1508,7 +1506,6 @@ static int amdgpu_vm_bo_update_mapping(struct amdgpu_device *adev, | |||
1508 | memset(¶ms, 0, sizeof(params)); | 1506 | memset(¶ms, 0, sizeof(params)); |
1509 | params.adev = adev; | 1507 | params.adev = adev; |
1510 | params.vm = vm; | 1508 | params.vm = vm; |
1511 | params.src = src; | ||
1512 | 1509 | ||
1513 | /* sync to everything on unmapping */ | 1510 | /* sync to everything on unmapping */ |
1514 | if (!(flags & AMDGPU_PTE_VALID)) | 1511 | if (!(flags & AMDGPU_PTE_VALID)) |
@@ -1548,13 +1545,7 @@ static int amdgpu_vm_bo_update_mapping(struct amdgpu_device *adev, | |||
1548 | /* one PDE write for each huge page */ | 1545 | /* one PDE write for each huge page */ |
1549 | ndw += ((nptes >> adev->vm_manager.block_size) + 1) * 6; | 1546 | ndw += ((nptes >> adev->vm_manager.block_size) + 1) * 6; |
1550 | 1547 | ||
1551 | if (src) { | 1548 | if (pages_addr) { |
1552 | /* only copy commands needed */ | ||
1553 | ndw += ncmds * 7; | ||
1554 | |||
1555 | params.func = amdgpu_vm_do_copy_ptes; | ||
1556 | |||
1557 | } else if (pages_addr) { | ||
1558 | /* copy commands needed */ | 1549 | /* copy commands needed */ |
1559 | ndw += ncmds * 7; | 1550 | ndw += ncmds * 7; |
1560 | 1551 | ||
@@ -1579,7 +1570,7 @@ static int amdgpu_vm_bo_update_mapping(struct amdgpu_device *adev, | |||
1579 | 1570 | ||
1580 | params.ib = &job->ibs[0]; | 1571 | params.ib = &job->ibs[0]; |
1581 | 1572 | ||
1582 | if (!src && pages_addr) { | 1573 | if (pages_addr) { |
1583 | uint64_t *pte; | 1574 | uint64_t *pte; |
1584 | unsigned i; | 1575 | unsigned i; |
1585 | 1576 | ||
@@ -1656,7 +1647,7 @@ static int amdgpu_vm_bo_split_mapping(struct amdgpu_device *adev, | |||
1656 | struct drm_mm_node *nodes, | 1647 | struct drm_mm_node *nodes, |
1657 | struct dma_fence **fence) | 1648 | struct dma_fence **fence) |
1658 | { | 1649 | { |
1659 | uint64_t pfn, src = 0, start = mapping->start; | 1650 | uint64_t pfn, start = mapping->start; |
1660 | int r; | 1651 | int r; |
1661 | 1652 | ||
1662 | /* normally,bo_va->flags only contians READABLE and WIRTEABLE bit go here | 1653 | /* normally,bo_va->flags only contians READABLE and WIRTEABLE bit go here |
@@ -1711,8 +1702,7 @@ static int amdgpu_vm_bo_split_mapping(struct amdgpu_device *adev, | |||
1711 | addr += pfn << PAGE_SHIFT; | 1702 | addr += pfn << PAGE_SHIFT; |
1712 | 1703 | ||
1713 | last = min((uint64_t)mapping->last, start + max_entries - 1); | 1704 | last = min((uint64_t)mapping->last, start + max_entries - 1); |
1714 | r = amdgpu_vm_bo_update_mapping(adev, exclusive, | 1705 | r = amdgpu_vm_bo_update_mapping(adev, exclusive, pages_addr, vm, |
1715 | src, pages_addr, vm, | ||
1716 | start, last, flags, addr, | 1706 | start, last, flags, addr, |
1717 | fence); | 1707 | fence); |
1718 | if (r) | 1708 | if (r) |
@@ -1973,7 +1963,7 @@ int amdgpu_vm_clear_freed(struct amdgpu_device *adev, | |||
1973 | if (vm->pte_support_ats) | 1963 | if (vm->pte_support_ats) |
1974 | init_pte_value = AMDGPU_PTE_SYSTEM; | 1964 | init_pte_value = AMDGPU_PTE_SYSTEM; |
1975 | 1965 | ||
1976 | r = amdgpu_vm_bo_update_mapping(adev, NULL, 0, NULL, vm, | 1966 | r = amdgpu_vm_bo_update_mapping(adev, NULL, NULL, vm, |
1977 | mapping->start, mapping->last, | 1967 | mapping->start, mapping->last, |
1978 | init_pte_value, 0, &f); | 1968 | init_pte_value, 0, &f); |
1979 | amdgpu_vm_free_mapping(adev, vm, mapping, f); | 1969 | amdgpu_vm_free_mapping(adev, vm, mapping, f); |