drm/i915/guc: Don't allow GuC submission
authorMichal Wajdeczko <michal.wajdeczko@intel.com>
Mon, 27 May 2019 18:35:58 +0000 (18:35 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 28 May 2019 09:07:00 +0000 (10:07 +0100)
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: Michal 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: Martin Peres <martin.peres@linux.intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20190527183613.17076-3-michal.wajdeczko@intel.com
drivers/gpu/drm/i915/intel_uc.c

index 1a265fbd95c78c2d478ae90c478d0f7344a82f9c..75943ea4e65d3a5e36661ae878aa9e58c188a964 100644 (file)
@@ -130,6 +130,15 @@ static void sanitize_options_early(struct drm_i915_private *i915)
                                          "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" */
        if (i915_modparams.guc_log_level < 0)
                i915_modparams.guc_log_level =
@@ -298,6 +307,9 @@ int intel_uc_init(struct drm_i915_private *i915)
        if (!HAS_GUC(i915))
                return -ENODEV;
 
+       /* XXX: GuC submission is unavailable for now */
+       GEM_BUG_ON(USES_GUC_SUBMISSION(i915));
+
        ret = intel_guc_init(guc);
        if (ret)
                return ret;