Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 61a66947 authored by Zhenyu Wang's avatar Zhenyu Wang Committed by Rodrigo Vivi
Browse files

drm/i915/gvt: cancel scheduler timer when no vGPU exists



Stop gvt scheduler timer if no vGPU exists, otherwise it keeps
gvt service thread busy to handle request schedule event but no
actual schedule activity required.

Reviewed-by: default avatarZhi Wang <zhi.a.wang@intel.com>
Signed-off-by: default avatarZhenyu Wang <zhenyuw@linux.intel.com>
Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
parent 14b4434b
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -308,8 +308,15 @@ static int tbs_sched_init_vgpu(struct intel_vgpu *vgpu)

static void tbs_sched_clean_vgpu(struct intel_vgpu *vgpu)
{
	struct intel_gvt *gvt = vgpu->gvt;
	struct gvt_sched_data *sched_data = gvt->scheduler.sched_data;

	kfree(vgpu->sched_data);
	vgpu->sched_data = NULL;

	/* this vgpu id has been removed */
	if (idr_is_empty(&gvt->vgpu_idr))
		hrtimer_cancel(&sched_data->timer);
}

static void tbs_sched_start_schedule(struct intel_vgpu *vgpu)