aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_ringbuffer.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2017-07-21 12:11:01 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2017-07-27 03:38:57 -0400
commit6492ca79c823f508d3b28526b419c9c584388970 (patch)
tree313d9165b8fa0807f02cfeae18ccecaec86a5a22 /drivers/gpu/drm/i915/intel_ringbuffer.c
parenteadc2e51fd1bfdb06f1e74fbb129dd18f40155b1 (diff)
drm/i915: Enforce that CS packets are qword aligned
We require the caller to ensure that the packets they wish to emit into the CS ring are qword aligned (i.e. have an even number of dwords). Double check this. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170721161101.1618-1-chris@chris-wilson.co.uk Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_ringbuffer.c')
-rw-r--r--drivers/gpu/drm/i915/intel_ringbuffer.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
index 5224b7abb8a3..cdf084ef5aae 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@ -1712,6 +1712,9 @@ u32 *intel_ring_begin(struct drm_i915_gem_request *req,
1712 unsigned int total_bytes; 1712 unsigned int total_bytes;
1713 u32 *cs; 1713 u32 *cs;
1714 1714
1715 /* Packets must be qword aligned. */
1716 GEM_BUG_ON(num_dwords & 1);
1717
1715 total_bytes = bytes + req->reserved_space; 1718 total_bytes = bytes + req->reserved_space;
1716 GEM_BUG_ON(total_bytes > ring->effective_size); 1719 GEM_BUG_ON(total_bytes > ring->effective_size);
1717 1720