diff options
| author | Philip Yang <Philip.Yang@amd.com> | 2018-12-13 15:35:28 -0500 |
|---|---|---|
| committer | Alex Deucher <alexander.deucher@amd.com> | 2019-03-19 15:03:45 -0500 |
| commit | 915d3eecfa23693bac9e54cdacf84fb4efdcc5c4 (patch) | |
| tree | fbc7161be3e5cf431dff24a7e48d4a393de3d920 /drivers/gpu/drm/virtio/virtgpu_ttm.c | |
| parent | 8dd69e69f42397c9b17764a951c44480b340858e (diff) | |
drm/amdgpu: replace get_user_pages with HMM mirror helpers
Use HMM helper function hmm_vma_fault() to get physical pages backing
userptr and start CPU page table update track of those pages. Then use
hmm_vma_range_done() to check if those pages are updated before
amdgpu_cs_submit for gfx or before user queues are resumed for kfd.
If userptr pages are updated, for gfx, amdgpu_cs_ioctl will restart
from scratch, for kfd, restore worker is rescheduled to retry.
HMM simplify the CPU page table concurrent update check, so remove
guptasklock, mmu_invalidations, last_set_pages fields from
amdgpu_ttm_tt struct.
HMM does not pin the page (increase page ref count), so remove related
operations like release_pages(), put_page(), mark_page_dirty().
Signed-off-by: Philip Yang <Philip.Yang@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/virtio/virtgpu_ttm.c')
0 files changed, 0 insertions, 0 deletions
