summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/gvt/kvmgt.c
diff options
context:
space:
mode:
authorHang Yuan2018-08-07 12:29:21 +0200
committerZhenyu Wang2018-08-13 06:32:57 +0200
commitf9090d4c22130c861b9e00e063812ac69d93a4a2 (patch)
tree0e7ef5a3ce317f5ab81d48d9ef929320f2d22666 /drivers/gpu/drm/i915/gvt/kvmgt.c
parentdrm/i915/kvmgt: fix an error code in gvt_dma_map_page() (diff)
downloadkernel-qcow2-linux-f9090d4c22130c861b9e00e063812ac69d93a4a2.tar.gz
kernel-qcow2-linux-f9090d4c22130c861b9e00e063812ac69d93a4a2.tar.xz
kernel-qcow2-linux-f9090d4c22130c861b9e00e063812ac69d93a4a2.zip
drm/i915/gvt: free workload in vgpu release
Some workloads may be prepared in vgpu's queue but not be scheduled to run yet. If vgpu is released at this time, they will not be freed in workload complete callback and so need to be freed in vgpu release operation. Add new vgpu_release operation in gvt_ops to stop vgpu and release runtime resources. gvt_ops vgpu_deactivate operation will only stop vgpu. v2: add new gvt ops to clean vgpu running status (Xiong Zhang) Signed-off-by: Hang Yuan <hang.yuan@linux.intel.com> Reviewed-by: Xiong Zhang <xiong.y.zhang@intel.com> Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
Diffstat (limited to 'drivers/gpu/drm/i915/gvt/kvmgt.c')
-rw-r--r--drivers/gpu/drm/i915/gvt/kvmgt.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/gvt/kvmgt.c b/drivers/gpu/drm/i915/gvt/kvmgt.c
index 32ec5748f176..80b49a1a1281 100644
--- a/drivers/gpu/drm/i915/gvt/kvmgt.c
+++ b/drivers/gpu/drm/i915/gvt/kvmgt.c
@@ -666,7 +666,7 @@ static void __intel_vgpu_release(struct intel_vgpu *vgpu)
if (atomic_cmpxchg(&vgpu->vdev.released, 0, 1))
return;
- intel_gvt_ops->vgpu_deactivate(vgpu);
+ intel_gvt_ops->vgpu_release(vgpu);
ret = vfio_unregister_notifier(mdev_dev(vgpu->vdev.mdev), VFIO_IOMMU_NOTIFY,
&vgpu->vdev.iommu_notifier);