2019-08-26 15:09:31 +08:00
|
|
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
|
|
From: Zhao Yakui <yakui.zhao@intel.com>
|
|
|
|
Date: Wed, 21 Aug 2019 11:15:55 +0800
|
|
|
|
Subject: [PATCH] Revert "drm/i915/gvt: release the handle to avoid panic"
|
|
|
|
|
|
|
|
This reverts commit fdb755b792baa66e5d7ec415f66d7831bfca6d3b.
|
|
|
|
|
|
|
|
Tracked-On: PKT-2559
|
|
|
|
---
|
|
|
|
drivers/gpu/drm/i915/gvt/acrngt.c | 6 +++---
|
|
|
|
drivers/gpu/drm/i915/gvt/interrupt.c | 2 ++
|
|
|
|
2 files changed, 5 insertions(+), 3 deletions(-)
|
|
|
|
|
|
|
|
diff --git a/drivers/gpu/drm/i915/gvt/acrngt.c b/drivers/gpu/drm/i915/gvt/acrngt.c
|
2020-10-27 02:14:06 +08:00
|
|
|
index 7911d63ffa0c..0215fc23b3e3 100644
|
2019-08-26 15:09:31 +08:00
|
|
|
--- a/drivers/gpu/drm/i915/gvt/acrngt.c
|
|
|
|
+++ b/drivers/gpu/drm/i915/gvt/acrngt.c
|
|
|
|
@@ -98,6 +98,9 @@ static int acrngt_emulation_timer_thread(void *data)
|
|
|
|
SCHED_NORMAL, ¶m);
|
|
|
|
}
|
|
|
|
clear_bit(ACRNGT_TIMER_ISR, &info->thread_flags);
|
|
|
|
+ trace_printk("ACRN thread work is fired. Policy %d, Prio is %d\n",
|
|
|
|
+ info->emulation_thread->policy,
|
|
|
|
+ task_nice(info->emulation_thread));
|
|
|
|
}
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
@@ -133,9 +136,6 @@ void acrngt_instance_destroy(struct intel_vgpu *vgpu)
|
|
|
|
if (vgpu) {
|
|
|
|
info = (struct acrngt_hvm_dev *)vgpu->handle;
|
|
|
|
|
|
|
|
- mutex_lock(&gvt->lock);
|
|
|
|
- vgpu->vgpu_priv = NULL;
|
|
|
|
- mutex_unlock(&gvt->lock);
|
|
|
|
if (info && info->emulation_thread != NULL) {
|
|
|
|
kthread_stop(info->emulation_thread);
|
|
|
|
info->emulation_thread = NULL;
|
|
|
|
diff --git a/drivers/gpu/drm/i915/gvt/interrupt.c b/drivers/gpu/drm/i915/gvt/interrupt.c
|
2020-10-27 02:14:06 +08:00
|
|
|
index 3b7dbeb20c5e..7bb9be5ae9fd 100644
|
2019-08-26 15:09:31 +08:00
|
|
|
--- a/drivers/gpu/drm/i915/gvt/interrupt.c
|
|
|
|
+++ b/drivers/gpu/drm/i915/gvt/interrupt.c
|
|
|
|
@@ -654,6 +654,8 @@ void intel_vgpu_trigger_virtual_event(struct intel_vgpu *vgpu,
|
|
|
|
hrtimer_cancel(&vhm_dev->thread_timer);
|
|
|
|
|
|
|
|
preempt_disable();
|
|
|
|
+ trace_printk("ACRN thread timer is started. Policy is %d\n",
|
|
|
|
+ vhm_dev->emulation_thread->policy);
|
|
|
|
/* 750*1000 ns */
|
|
|
|
hrtimer_set_expires(&vhm_dev->thread_timer, 750000);
|
|
|
|
hrtimer_start_expires(&vhm_dev->thread_timer, HRTIMER_MODE_REL);
|
|
|
|
--
|
|
|
|
https://clearlinux.org
|
|
|
|
|