summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/gvt/interrupt.c
diff options
context:
space:
mode:
authorZhi Wang <zhi.a.wang@intel.com>2022-11-10 12:20:34 +0000
committerZhenyu Wang <zhenyuw@linux.intel.com>2023-01-04 23:21:19 +0800
commita06d4b9e15c0ea4e05b200cfb1f1050e785a5e87 (patch)
tree938ffdc3fd9d95d703933c3387c471005a43a3d1 /drivers/gpu/drm/i915/gvt/interrupt.c
parent704f3384f322b40ba24d958473edfb1c9750c8fd (diff)
downloadlinux-stable-a06d4b9e15c0ea4e05b200cfb1f1050e785a5e87.tar.gz
linux-stable-a06d4b9e15c0ea4e05b200cfb1f1050e785a5e87.tar.bz2
linux-stable-a06d4b9e15c0ea4e05b200cfb1f1050e785a5e87.zip
drm/i915/gvt: use atomic operations to change the vGPU status
Several vGPU status are used to decide the availability of GVT-g core logics when creating a vGPU. Use atomic operations on changing the vGPU status to avoid the racing. Cc: Zhenyu Wang <zhenyuw@linux.intel.com> Cc: Kevin Tian <kevin.tian@intel.com> Cc: Jason Gunthorpe <jgg@nvidia.com> Cc: intel-gvt-dev@lists.freedesktop.org Suggested-by: Alex Williamson <alex.williamson@redhat.com> Signed-off-by: Zhi Wang <zhi.a.wang@intel.com> Reviewed-by: Zhenyu Wang <zhenyuw@linux.intel.com> Reviewed-by: Kevin Tian <kevin.tian@intel.com> Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/20221110122034.3382-2-zhi.a.wang@intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/gvt/interrupt.c')
-rw-r--r--drivers/gpu/drm/i915/gvt/interrupt.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/gvt/interrupt.c b/drivers/gpu/drm/i915/gvt/interrupt.c
index a6b2021b665f..68eca023bbc6 100644
--- a/drivers/gpu/drm/i915/gvt/interrupt.c
+++ b/drivers/gpu/drm/i915/gvt/interrupt.c
@@ -433,7 +433,7 @@ static int inject_virtual_interrupt(struct intel_vgpu *vgpu)
* enabled by guest. so if msi_trigger is null, success is still
* returned and don't inject interrupt into guest.
*/
- if (!vgpu->attached)
+ if (!test_bit(INTEL_VGPU_STATUS_ATTACHED, vgpu->status))
return -ESRCH;
if (vgpu->msi_trigger && eventfd_signal(vgpu->msi_trigger, 1) != 1)
return -EFAULT;