clear-pkgs-linux-iot-lts2018/1241-drm-i915-gvt-Add-a-mod...

65 lines
2.5 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Shuo A Liu <shuo.a.liu@intel.com>
Date: Thu, 7 May 2020 18:09:48 +0800
Subject: [PATCH] drm/i915/gvt: Add a module parameter to disable GPU frequency
adjustment for VGPU workload
Add a module parameter to disable GPU frequency adjustment for VGPU
workload, by default this parameter is false.
Tracked-On: projectacrn/acrn-hypervisor#3918
Signed-off-by: Junming Liu <junming.liu@intel.com>
Reviewed-by: Zhao Yakui <yakui.zhao@intel.com>
---
drivers/gpu/drm/i915/gvt/scheduler.c | 3 ++-
drivers/gpu/drm/i915/i915_params.c | 3 +++
drivers/gpu/drm/i915/i915_params.h | 3 ++-
3 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/gvt/scheduler.c b/drivers/gpu/drm/i915/gvt/scheduler.c
index c6906218cda7..5c8e08c49473 100644
--- a/drivers/gpu/drm/i915/gvt/scheduler.c
+++ b/drivers/gpu/drm/i915/gvt/scheduler.c
@@ -314,7 +314,8 @@ static int shadow_context_status_change(struct notifier_block *nb,
switch (action) {
case INTEL_CONTEXT_SCHEDULE_IN:
- schedule_work(&gvt->active_hp_work);
+ if (!i915_modparams.disable_hp_work)
+ schedule_work(&gvt->active_hp_work);
if (!i915_modparams.enable_context_restore) {
atomic_set(&workload->shadow_ctx_active, 1);
break;
diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
index 60ec862d2e36..ea65cf2de13a 100644
--- a/drivers/gpu/drm/i915/i915_params.c
+++ b/drivers/gpu/drm/i915/i915_params.c
@@ -261,6 +261,9 @@ i915_param_named_unsafe(domain_plane_owners, ullong, 0400,
i915_param_named_unsafe(enable_context_restore, bool, 0400,
"To togger non-context regs save/restore feature(default:false)");
+i915_param_named(disable_hp_work, bool, 0400,
+ "To disable active the high-performance mode during vGPU busy(default:false)");
+
static __always_inline void _print_param(struct drm_printer *p,
const char *name,
const char *type,
diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h
index 61d863ffa9d0..391578ed2b88 100644
--- a/drivers/gpu/drm/i915/i915_params.h
+++ b/drivers/gpu/drm/i915/i915_params.h
@@ -78,7 +78,8 @@ struct drm_printer;
param(int, gvt_workload_priority, 0) \
param(bool, enable_initial_modeset, false) \
param(bool, enable_gvt, false) \
- param(bool, enable_context_restore, false)
+ param(bool, enable_context_restore, false) \
+ param(bool, disable_hp_work, false)
#define MEMBER(T, member, ...) T member;
struct i915_params {
--
https://clearlinux.org