summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/gvt/scheduler.c
diff options
context:
space:
mode:
authorYan Zhao2019-05-08 04:14:04 +0200
committerZhenyu Wang2019-05-21 04:57:30 +0200
commitdf2ea3c296b1f3d66f297d240124c2ebd74c3db3 (patch)
tree823eb8f4e3a8e0b586203ed9552e49843872a962 /drivers/gpu/drm/i915/gvt/scheduler.c
parentdrm/i915/gvt: emit init breadcrumb for gvt request (diff)
downloadkernel-qcow2-linux-df2ea3c296b1f3d66f297d240124c2ebd74c3db3.tar.gz
kernel-qcow2-linux-df2ea3c296b1f3d66f297d240124c2ebd74c3db3.tar.xz
kernel-qcow2-linux-df2ea3c296b1f3d66f297d240124c2ebd74c3db3.zip
drm/i915/gvt: use cmd to restore in-context mmios to hw for gen9 platform
for restore-inhibit context, hardware will not load in-context mmios (engine context part) to hardware, but hardware will save the mmio values in hardware back to context image. So, in order to save correct values of vGPU back to context image, values of vGPU mmios have to be loaded into hardware first for restore-inhibit context. In this patch, the mechanism is applied to all gen9 platform. The reason excluding gen8 platforms is only because of lacking of testing on those platforms. v3: for mocs registers, goto in-context mmios save-restore path for skl platform as well (weinan li) v2: update vreg when scanning indirect context for inhibit context for gen9 Cc: Weinan Li <weinan.z.li@intel.com> Acked-by: Weinan Li <weinan.z.li@intel.com> Signed-off-by: Yan Zhao <yan.y.zhao@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.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/gvt/scheduler.c b/drivers/gpu/drm/i915/gvt/scheduler.c
index ccd71152c9bc..13632dba8b2a 100644
--- a/drivers/gpu/drm/i915/gvt/scheduler.c
+++ b/drivers/gpu/drm/i915/gvt/scheduler.c
@@ -300,9 +300,7 @@ static int copy_workload_to_ring_buffer(struct intel_vgpu_workload *workload)
u32 *cs;
int err;
- if ((IS_KABYLAKE(req->i915) || IS_BROXTON(req->i915)
- || IS_COFFEELAKE(req->i915))
- && is_inhibit_context(req->hw_context))
+ if (IS_GEN(req->i915, 9) && is_inhibit_context(req->hw_context))
intel_vgpu_restore_inhibit_context(vgpu, req);
/*