aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/gvt/scheduler.c
diff options
context:
space:
mode:
authorZhi Wang <zhi.a.wang@intel.com>2016-05-01 19:02:37 -0400
committerZhenyu Wang <zhenyuw@linux.intel.com>2016-10-14 18:15:13 +0800
commit178657139307126b22d226df0823223d6dfe91ba (patch)
treeeb13d8f36a7e082583c259bd40cc2b7afa4932ac /drivers/gpu/drm/i915/gvt/scheduler.c
parentdrm/i915/gvt: vGPU schedule policy framework (diff)
downloadlinux-dev-178657139307126b22d226df0823223d6dfe91ba.tar.xz
linux-dev-178657139307126b22d226df0823223d6dfe91ba.zip
drm/i915/gvt: vGPU context switch
As different VM may configure different render MMIOs when executing workload, to schedule workloads between different VM, the render MMIOs have to be switched. Signed-off-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.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/gvt/scheduler.c b/drivers/gpu/drm/i915/gvt/scheduler.c
index 2302a97cebf6..2f96302c7b21 100644
--- a/drivers/gpu/drm/i915/gvt/scheduler.c
+++ b/drivers/gpu/drm/i915/gvt/scheduler.c
@@ -139,9 +139,13 @@ static int shadow_context_status_change(struct notifier_block *nb,
switch (action) {
case INTEL_CONTEXT_SCHEDULE_IN:
+ intel_gvt_load_render_mmio(workload->vgpu,
+ workload->ring_id);
atomic_set(&workload->shadow_ctx_active, 1);
break;
case INTEL_CONTEXT_SCHEDULE_OUT:
+ intel_gvt_restore_render_mmio(workload->vgpu,
+ workload->ring_id);
atomic_set(&workload->shadow_ctx_active, 0);
break;
default: