drm/i915/gvt: Fix GDRST vreg state after reset
authorfred gao <fred.gao@intel.com>
Wed, 24 May 2017 04:02:24 +0000 (12:02 +0800)
committerZhenyu Wang <zhenyuw@linux.intel.com>
Thu, 8 Jun 2017 05:59:21 +0000 (13:59 +0800)
Emulating the GDRST read behavior correctly to ack the
guest reset request.

v2:
- split the original patch into two:
  GDRST read handler and virtual gpu reset. (Zhenyu)
v3:
- emulate the GDRST read right after write. (Zhenyu)

Cc: Zhenyu Wang <zhenyuw@linux.intel.com>
Cc: Zhang Yulei <yulei.zhang@intel.com>
Signed-off-by: fred gao <fred.gao@intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
drivers/gpu/drm/i915/gvt/handlers.c

index eb3dc15254047b674f36353fc66515428bdf800f..372421ba0259e145f81145c5e2aecc05f1abc552 100644 (file)
@@ -298,6 +298,9 @@ static int gdrst_mmio_write(struct intel_vgpu *vgpu, unsigned int offset,
 
        intel_gvt_reset_vgpu_locked(vgpu, false, engine_mask);
 
+       /* sw will wait for the device to ack the reset request */
+        vgpu_vreg(vgpu, offset) = 0;
+
        return 0;
 }