summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/gvt/gvt.c
diff options
context:
space:
mode:
authorPing Gao <ping.a.gao@intel.com>2017-05-24 20:30:17 +0800
committerZhenyu Wang <zhenyuw@linux.intel.com>2017-06-08 13:59:16 +0800
commitc713cb2f9b7e1e9ffa8a379cecb13bc6eacd49b6 (patch)
treef32339ea16083a9c68508e535451e1d84896459a /drivers/gpu/drm/i915/gvt/gvt.c
parent089f93c3f94c368157980578b1efc4f6014ebd97 (diff)
downloadlinux-c713cb2f9b7e1e9ffa8a379cecb13bc6eacd49b6.tar.bz2
drm/i915/gvt: Support event based scheduling
This patch decouple the time slice calculation and scheduler, let other event be able to trigger scheduling without impact the calculation for QoS. v2: add only one new enum definition. v3: fix typo. Signed-off-by: Ping Gao <ping.a.gao@intel.com> Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
Diffstat (limited to 'drivers/gpu/drm/i915/gvt/gvt.c')
-rw-r--r--drivers/gpu/drm/i915/gvt/gvt.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/gvt/gvt.c b/drivers/gpu/drm/i915/gvt/gvt.c
index 20329171e4ab..c27c6838eaca 100644
--- a/drivers/gpu/drm/i915/gvt/gvt.c
+++ b/drivers/gpu/drm/i915/gvt/gvt.c
@@ -147,7 +147,9 @@ static int gvt_service_thread(void *data)
mutex_unlock(&gvt->lock);
}
- if (test_and_clear_bit(INTEL_GVT_REQUEST_SCHED,
+ if (test_bit(INTEL_GVT_REQUEST_SCHED,
+ (void *)&gvt->service_request) ||
+ test_bit(INTEL_GVT_REQUEST_EVENT_SCHED,
(void *)&gvt->service_request)) {
intel_gvt_schedule(gvt);
}