All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915: Add missed MI_BATCH_BUFFER_END in null state batch buffer.
@ 2014-10-29 10:26 Zhi Wang
  2014-10-29 12:10 ` Mika Kuoppala
  0 siblings, 1 reply; 4+ messages in thread
From: Zhi Wang @ 2014-10-29 10:26 UTC (permalink / raw)
  To: intel-gfx

Currently MI_BATCH_BUFFER_END is missed in null state batch buffer.
This fix is trying to append the missed instruction at the end of
null state batch buffer gem bo after it was initialized and filled
with null state commands.

This issue was exposed under full GPU virtualization(Intel GVT-g) environment.

Signed-off-by: Zhi Wang <zhi.a.wang@intel.com>
---
 drivers/gpu/drm/i915/i915_gem_render_state.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/i915_gem_render_state.c b/drivers/gpu/drm/i915/i915_gem_render_state.c
index 98dcd94..3495b4b 100644
--- a/drivers/gpu/drm/i915/i915_gem_render_state.c
+++ b/drivers/gpu/drm/i915/i915_gem_render_state.c
@@ -54,7 +54,8 @@ static int render_state_init(struct render_state *so, struct drm_device *dev)
 	if (so->rodata == NULL)
 		return 0;
 
-	if (so->rodata->batch_items * 4 > 4096)
+	/* Leave one dword for MI_BATCH_BUFFER_END. */
+	if ((so->rodata->batch_items * 4 + 1) > 4096)
 		return -EINVAL;
 
 	so->obj = i915_gem_alloc_object(dev, 4096);
@@ -108,6 +109,7 @@ static int render_state_setup(struct render_state *so)
 
 		d[i++] = s;
 	}
+	d[i] = MI_BATCH_BUFFER_END;
 	kunmap(page);
 
 	ret = i915_gem_object_set_to_gtt_domain(so->obj, false);
-- 
1.8.3.2

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-10-29 14:34 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-29 10:26 [PATCH] drm/i915: Add missed MI_BATCH_BUFFER_END in null state batch buffer Zhi Wang
2014-10-29 12:10 ` Mika Kuoppala
2014-10-29 13:04   ` Wang, Zhi A
2014-10-29 14:34   ` Chris Wilson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.