[PATCH] crash-me, spank-me

Chris Wilson chris at chris-wilson.co.uk
Wed Jul 4 12:46:03 UTC 2018


---
 drivers/gpu/drm/i915/i915_gem_gtt.c | 8 ++++++++
 drivers/gpu/drm/i915/intel_lrc.c    | 8 ++++++++
 2 files changed, 16 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
index c6aa761ca085..87c507ae0b3f 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
@@ -586,6 +586,14 @@ setup_scratch_page(struct i915_address_space *vm, gfp_t gfp)
 		vm->scratch_page.page = page;
 		vm->scratch_page.daddr = addr;
 		vm->scratch_page.order = order;
+
+		if (1) {
+			u32 val = 0xdeadbeef;
+			void *vaddr = kmap_atomic(page);
+			memset32(vaddr, val, PAGE_SIZE << order / sizeof(val));
+			kunmap_atomic(vaddr);
+		}
+
 		return 0;
 
 unmap_page:
diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
index ab89dabc2965..04670a64766c 100644
--- a/drivers/gpu/drm/i915/intel_lrc.c
+++ b/drivers/gpu/drm/i915/intel_lrc.c
@@ -1451,6 +1451,7 @@ execlists_context_pin(struct intel_engine_cs *engine,
 
 static int execlists_request_alloc(struct i915_request *request)
 {
+	u32 *cs;
 	int ret;
 
 	GEM_BUG_ON(!request->hw_context->pin_count);
@@ -1465,6 +1466,13 @@ static int execlists_request_alloc(struct i915_request *request)
 	if (ret)
 		return ret;
 
+	cs = intel_ring_begin(request, 4);
+	*cs++ = MI_BATCH_BUFFER_START_GEN8;
+	*cs++ = i915_ggtt_offset(request->ring->vma);
+	*cs++ = 0;
+	*cs++ = 0;
+	intel_ring_advance(request, cs);
+
 	/* Note that after this point, we have committed to using
 	 * this request as it is being used to both track the
 	 * state of engine initialisation and liveness of the
-- 
2.18.0



More information about the Intel-gfx-trybot mailing list