[Intel-gfx] [PATCH 3/3] drm/i915: Stop ignoring failure to set up workaround batch buffers

Tvrtko Ursulin tursulin at ursulin.net
Fri Jan 19 10:00:05 UTC 2018


From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>

Setting up the workaround batch buffers can fail either due programming
errors which will be caught in development, or by the inability to
allocate a 4k object and pin it in GGTT at runtime.

Since this is highly unlikely, and it is not deterministic to allow driver
operation to continue with unknown status of workarounds, it is better to
fail engine initialization explicitly under those circumstances.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
Cc: Chris Wilson <chris at chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/intel_lrc.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
index 74d7989389e1..6067c5fe6889 100644
--- a/drivers/gpu/drm/i915/intel_lrc.c
+++ b/drivers/gpu/drm/i915/intel_lrc.c
@@ -2054,13 +2054,8 @@ int logical_render_ring_init(struct intel_engine_cs *engine)
 
 	ret = intel_init_workaround_bb(engine);
 	if (ret) {
-		/*
-		 * We continue even if we fail to initialize WA batch
-		 * because we only expect rare glitches but nothing
-		 * critical to prevent us from using GPU
-		 */
-		DRM_ERROR("WA batch buffer initialization failed: %d\n",
-			  ret);
+		DRM_ERROR("WA batch buffer initialization failed: %d\n", ret);
+		return ret;
 	}
 
 	return logical_ring_init(engine);
-- 
2.14.1



More information about the Intel-gfx mailing list