diff options
author | Changbin Du <changbin.du@intel.com> | 2018-01-30 14:19:46 +0300 |
---|---|---|
committer | Zhenyu Wang <zhenyuw@linux.intel.com> | 2018-03-06 08:19:16 +0300 |
commit | e6e9c46fd2351a07f31b3bf3101c57170c13aeab (patch) | |
tree | 5ef8619496b1f4697c79e31e88bdc661336f4ad8 /drivers/gpu/drm/i915/gvt/scheduler.c | |
parent | a143cef7dbefc1cb9853d990c18b16347ecceb39 (diff) | |
download | linux-e6e9c46fd2351a07f31b3bf3101c57170c13aeab.tar.xz |
drm/i915/gvt: Factor out intel_vgpu_{get, put}_ppgtt_mm interface
Factor out these two interfaces so we can kill some duplicated code in
scheduler.c.
v2:
- rename to intel_vgpu_{get,put}_ppgtt_mm
- refine handle_g2v_notification
Signed-off-by: Changbin Du <changbin.du@intel.com>
Reviewed-by: Zhi Wang <zhi.a.wang@intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
Diffstat (limited to 'drivers/gpu/drm/i915/gvt/scheduler.c')
-rw-r--r-- | drivers/gpu/drm/i915/gvt/scheduler.c | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/drivers/gpu/drm/i915/gvt/scheduler.c b/drivers/gpu/drm/i915/gvt/scheduler.c index 989304ef18e3..f4765ed4e92a 100644 --- a/drivers/gpu/drm/i915/gvt/scheduler.c +++ b/drivers/gpu/drm/i915/gvt/scheduler.c @@ -1198,18 +1198,10 @@ static int prepare_mm(struct intel_vgpu_workload *workload) read_guest_pdps(workload->vgpu, workload->ring_context_gpa, (void *)pdps); - mm = intel_vgpu_find_ppgtt_mm(workload->vgpu, pdps); - if (mm) { - intel_vgpu_mm_get(mm); - } else { - - mm = intel_vgpu_create_ppgtt_mm(workload->vgpu, root_entry_type, - pdps); - if (IS_ERR(mm)) { - gvt_vgpu_err("fail to create mm object.\n"); - return PTR_ERR(mm); - } - } + mm = intel_vgpu_get_ppgtt_mm(workload->vgpu, root_entry_type, pdps); + if (IS_ERR(mm)) + return PTR_ERR(mm); + workload->shadow_mm = mm; return 0; } |