summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_gem.c
diff options
context:
space:
mode:
authorJesse Barnes <jbarnes@virtuousgeek.org>2015-09-10 14:55:00 -0700
committerDaniel Vetter <daniel.vetter@ffwll.ch>2015-09-14 11:26:12 +0200
commit87bcdd2e275d75e374434a4ad7da66bbb6da1d17 (patch)
tree13fb711570827b4a39c0c5adff55b2efad966241 /drivers/gpu/drm/i915/i915_gem.c
parent6ff8ab0d0fab914755cb79b1e0469dd7123cc471 (diff)
downloadtalos-op-linux-87bcdd2e275d75e374434a4ad7da66bbb6da1d17.tar.gz
talos-op-linux-87bcdd2e275d75e374434a4ad7da66bbb6da1d17.zip
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>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_gem.c')
-rw-r--r--drivers/gpu/drm/i915/i915_gem.c29
1 files changed, 16 insertions, 13 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 760cfba22e71..acb1f23c4dbf 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -4687,19 +4687,22 @@ i915_gem_init_hw(struct drm_device *dev)
}
/* We can't enable contexts until all firmware is loaded */
- 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.
- * 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)");
- ret = i915.enable_guc_submission ? -EIO : 0;
- if (ret)
- goto out;
+ if (HAS_GUC_UCODE(dev)) {
+ 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.
+ * 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)");
+ ret = i915.enable_guc_submission ? -EIO : 0;
+ if (ret)
+ goto out;
+ }
}
/* Now it is safe to go back round and do everything else: */
OpenPOWER on IntegriCloud