aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/include
diff options
context:
space:
mode:
authorOak Zeng <Oak.Zeng@amd.com>2018-08-29 12:33:52 -0500
committerAlex Deucher <alexander.deucher@amd.com>2018-08-29 12:34:49 -0500
commit1685b01a858872075bc258a350153de0c7e95404 (patch)
tree18b1596da9dc1a082b7c78f12fdd7dd092bf5c11 /drivers/gpu/drm/amd/include
parentdrm/amdgpu: Only retrieve GPU address of GART table after pinning it (diff)
downloadlinux-dev-1685b01a858872075bc258a350153de0c7e95404.tar.xz
linux-dev-1685b01a858872075bc258a350153de0c7e95404.zip
drm/amdgpu: Set pasid for compute vm (v2)
To make a amdgpu vm to a compute vm, the old pasid will be freed and replaced with a pasid managed by kfd. Kfd can't reuse original pasid allocated by amdgpu because kfd uses different pasid policy with amdgpu. For example, all graphic devices share one same pasid in a process. v2: rebase (Alex) Signed-off-by: Oak Zeng <Oak.Zeng@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/include')
-rw-r--r--drivers/gpu/drm/amd/include/kgd_kfd_interface.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/include/kgd_kfd_interface.h b/drivers/gpu/drm/amd/include/kgd_kfd_interface.h
index 14391b06080c..4b9981351bb3 100644
--- a/drivers/gpu/drm/amd/include/kgd_kfd_interface.h
+++ b/drivers/gpu/drm/amd/include/kgd_kfd_interface.h
@@ -372,10 +372,11 @@ struct kfd2kgd_calls {
struct kfd_cu_info *cu_info);
uint64_t (*get_vram_usage)(struct kgd_dev *kgd);
- int (*create_process_vm)(struct kgd_dev *kgd, void **vm,
+ int (*create_process_vm)(struct kgd_dev *kgd, unsigned int pasid, void **vm,
void **process_info, struct dma_fence **ef);
int (*acquire_process_vm)(struct kgd_dev *kgd, struct file *filp,
- void **vm, void **process_info, struct dma_fence **ef);
+ unsigned int pasid, void **vm, void **process_info,
+ struct dma_fence **ef);
void (*destroy_process_vm)(struct kgd_dev *kgd, void *vm);
uint32_t (*get_process_page_dir)(void *vm);
void (*set_vm_context_page_table_base)(struct kgd_dev *kgd,