On Fri, Nov 22, 2019 at 11:54:45AM -0800, Niranjana Vishwanathapura wrote:
Use HMM page table mirroring support to build device page table.
Implement the bind ioctl and bind the process address range in the
specified context's ppgtt.
Handle invalidation notifications by unbinding the address range.
Cc: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx>
Cc: Jon Bloomfield <jon.bloomfield@xxxxxxxxx>
Cc: Daniel Vetter <daniel.vetter@xxxxxxxxx>
Cc: Sudeep Dutt <sudeep.dutt@xxxxxxxxx>
Signed-off-by: Niranjana Vishwanathapura <niranjana.vishwanathapura@xxxxxxxxx>
---
+int i915_svm_bind_mm(struct i915_address_space *vm)
+{
+ struct i915_svm *svm;
+ struct mm_struct *mm;
+ int ret = 0;
+
+ mm = get_task_mm(current);
+ down_write(&mm->mmap_sem);
+ mutex_lock(&vm->svm_mutex);
+ if (vm->svm)
+ goto bind_out;
+
+ svm = kzalloc(sizeof(*svm), GFP_KERNEL);
+ if (!svm) {
+ ret = -ENOMEM;
+ goto bind_out;
+ }
+ svm->mirror.ops = &i915_mirror_ops;
+ mutex_init(&svm->mutex);
+ kref_init(&svm->ref);
+ svm->mm = mm;
+ svm->vm = vm;
+
+ ret = hmm_mirror_register(&svm->mirror, mm);
I saw that these APIs have been removed.
I will update once it gets included in kernel release.
Niranjana
+ if (ret)
+ goto bind_out;
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel