[Intel-gfx] [PATCH 1/2] drm/i915/huc: Introduce enable_huc parameter

anushasr anusha.srivatsa at intel.com
Thu Dec 15 18:24:56 UTC 2016


From: Anusha Srivatsa <anusha.srivatsa at intel.com>

Add a new kernel parameter: enable_huc. This parameter
controls HuC functionality. If this parameter
is set to 1, it suggests that HuC functionality is being
used and also that the GuC has to be loaded. GuC has to be
loaded in order to authenticate the HuC.

Cc: Jani Nikula <jani.nikula at intel.com>
Cc: Chris Wilson <chris at chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin at linux.intel.com>
Cc: Arek <arkadiusz.hiler at intel.com>
Signed-off-by: Anusha Srivatsa <anusha.srivatsa at intel.com>
---
 drivers/gpu/drm/i915/i915_params.c      | 5 +++++
 drivers/gpu/drm/i915/i915_params.h      | 1 +
 drivers/gpu/drm/i915/intel_huc_loader.c | 4 ++++
 3 files changed, 10 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
index 0e280fb..1d9c306 100644
--- a/drivers/gpu/drm/i915/i915_params.c
+++ b/drivers/gpu/drm/i915/i915_params.c
@@ -56,6 +56,7 @@ struct i915_params i915 __read_mostly = {
 	.verbose_state_checks = 1,
 	.nuclear_pageflip = 0,
 	.edp_vswing = 0,
+	.enable_huc = 1,
 	.enable_guc_loading = 0,
 	.enable_guc_submission = 0,
 	.guc_log_level = -1,
@@ -216,6 +217,10 @@ MODULE_PARM_DESC(edp_vswing,
 		 "(0=use value from vbt [default], 1=low power swing(200mV),"
 		 "2=default swing(400mV))");
 
+module_param_named(enable_huc, i915.enable_huc, int, 0400);
+MODULE_PARM_DESC(enable_huc,
+		"Enable HuC usage. If enabled,load GuC (1:enabled (default), 0:disabled)");
+
 module_param_named_unsafe(enable_guc_loading, i915.enable_guc_loading, int, 0400);
 MODULE_PARM_DESC(enable_guc_loading,
 		"Enable GuC firmware loading "
diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h
index 8e433de..7b0523b 100644
--- a/drivers/gpu/drm/i915/i915_params.h
+++ b/drivers/gpu/drm/i915/i915_params.h
@@ -44,6 +44,7 @@ struct i915_params {
 	int disable_power_well;
 	int enable_ips;
 	int invert_brightness;
+	int enable_huc;
 	int enable_guc_loading;
 	int enable_guc_submission;
 	int guc_log_level;
diff --git a/drivers/gpu/drm/i915/intel_huc_loader.c b/drivers/gpu/drm/i915/intel_huc_loader.c
index 8137979..a545f76 100644
--- a/drivers/gpu/drm/i915/intel_huc_loader.c
+++ b/drivers/gpu/drm/i915/intel_huc_loader.c
@@ -166,6 +166,10 @@ void intel_huc_init(struct drm_i915_private *dev_priv)
 	huc_fw->load_status = INTEL_UC_FIRMWARE_NONE;
 	huc_fw->fw_type = INTEL_UC_FW_TYPE_HUC;
 
+	if (!i915.enable_huc)
+		DRM_ERROR("HuC not enabled. Will not be loaded\n");
+		return;
+
 	if (!HAS_HUC_UCODE(dev_priv))
 		return;
 
-- 
2.7.4



More information about the Intel-gfx mailing list