drm/i915: don't try to load GuC fw on pre-gen9

This avoids some bad register writes and generally feels more correct
than unconditionally trying to redirect interrupts and such.

References: https://bugs.freedesktop.org/show_bug.cgi?id=91777
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
Jesse Barnes
2015-09-10 14:55:00 -07:00
committed by Daniel Vetter
parent 6ff8ab0d0f
commit 87bcdd2e27

View File

@ -4687,19 +4687,22 @@ i915_gem_init_hw(struct drm_device *dev)
} }
/* We can't enable contexts until all firmware is loaded */ /* We can't enable contexts until all firmware is loaded */
ret = intel_guc_ucode_load(dev); if (HAS_GUC_UCODE(dev)) {
if (ret) { ret = intel_guc_ucode_load(dev);
/* if (ret) {
* If we got an error and GuC submission is enabled, map /*
* the error to -EIO so the GPU will be declared wedged. * If we got an error and GuC submission is enabled, map
* OTOH, if we didn't intend to use the GuC anyway, just * the error to -EIO so the GPU will be declared wedged.
* discard the error and carry on. * OTOH, if we didn't intend to use the GuC anyway, just
*/ * discard the error and carry on.
DRM_ERROR("Failed to initialize GuC, error %d%s\n", ret, */
i915.enable_guc_submission ? "" : " (ignored)"); DRM_ERROR("Failed to initialize GuC, error %d%s\n", ret,
ret = i915.enable_guc_submission ? -EIO : 0; i915.enable_guc_submission ? "" :
if (ret) " (ignored)");
goto out; ret = i915.enable_guc_submission ? -EIO : 0;
if (ret)
goto out;
}
} }
/* Now it is safe to go back round and do everything else: */ /* Now it is safe to go back round and do everything else: */