Commit a2904ade authored by Michal Wajdeczko's avatar Michal Wajdeczko Committed by Chris Wilson

drm/i915/guc: Don't allow GuC submission

Due to the upcoming changes to the GuC ABI interface, we must
disable GuC submission mode until final ABI will be available
on all GuC firmwares.

To avoid regressions on systems configured to run with no longer
supported configuration "enable_guc=3" or "enable_guc=1" clear
GuC submission bit.

v2: force switch to non-GuC submission mode
v3: use GEM_BUG_ON (Joonas)
Signed-off-by: default avatarMichal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: John Spotswood <john.a.spotswood@intel.com>
Cc: Vinay Belgaumkar <vinay.belgaumkar@intel.com>
Cc: Tony Ye <tony.ye@intel.com>
Cc: Anusha Srivatsa <anusha.srivatsa@intel.com>
Cc: Jeff Mcgee <jeff.mcgee@intel.com>
Cc: Antonio Argenziano <antonio.argenziano@intel.com>
Cc: Sujaritha Sundaresan <sujaritha.sundaresan@intel.com>
Cc: Martin Peres <martin.peres@linux.intel.com>
Acked-by: default avatarMartin Peres <martin.peres@linux.intel.com>
Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20190527183613.17076-3-michal.wajdeczko@intel.com
parent cc80b2ef
...@@ -130,6 +130,15 @@ static void sanitize_options_early(struct drm_i915_private *i915) ...@@ -130,6 +130,15 @@ static void sanitize_options_early(struct drm_i915_private *i915)
"no HuC firmware"); "no HuC firmware");
} }
/* XXX: GuC submission is unavailable for now */
if (intel_uc_is_using_guc_submission(i915)) {
DRM_INFO("Incompatible option detected: %s=%d, %s!\n",
"enable_guc", i915_modparams.enable_guc,
"GuC submission not supported");
DRM_INFO("Switching to non-GuC submission mode!\n");
i915_modparams.enable_guc &= ~ENABLE_GUC_SUBMISSION;
}
/* A negative value means "use platform/config default" */ /* A negative value means "use platform/config default" */
if (i915_modparams.guc_log_level < 0) if (i915_modparams.guc_log_level < 0)
i915_modparams.guc_log_level = i915_modparams.guc_log_level =
...@@ -298,6 +307,9 @@ int intel_uc_init(struct drm_i915_private *i915) ...@@ -298,6 +307,9 @@ int intel_uc_init(struct drm_i915_private *i915)
if (!HAS_GUC(i915)) if (!HAS_GUC(i915))
return -ENODEV; return -ENODEV;
/* XXX: GuC submission is unavailable for now */
GEM_BUG_ON(USES_GUC_SUBMISSION(i915));
ret = intel_guc_init(guc); ret = intel_guc_init(guc);
if (ret) if (ret)
return ret; return ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment