From: Rob Clark Date: Wed, 15 May 2013 17:21:24 +0000 (-0400) Subject: freedreno: add some asserts X-Git-Tag: 2.4.46~13 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;ds=sidebyside;h=acfbf394a9176ea97f114ca6c0eb8249a2220e82;p=platform%2Fupstream%2Flibdrm.git freedreno: add some asserts Things are worse if we issueibcmds with bogus gpu ptrs, so it is better to just make userspace crash when things go pear shaped. Signed-off-by: Rob Clark --- diff --git a/freedreno/freedreno_ringbuffer.c b/freedreno/freedreno_ringbuffer.c index d20a7f5..2a9f436 100644 --- a/freedreno/freedreno_ringbuffer.c +++ b/freedreno/freedreno_ringbuffer.c @@ -26,6 +26,8 @@ * Rob Clark */ +#include + #include "freedreno_drmif.h" #include "freedreno_priv.h" #include "freedreno_ringbuffer.h" @@ -201,7 +203,9 @@ uint32_t fd_ringbuffer_timestamp(struct fd_ringbuffer *ring) void fd_ringbuffer_emit_reloc(struct fd_ringbuffer *ring, struct fd_bo *bo, uint32_t offset, uint32_t or) { - (*ring->cur++) = fd_bo_gpuaddr(bo, offset) | or; + uint32_t addr = fd_bo_gpuaddr(bo, offset); + assert(addr); + (*ring->cur++) = addr | or; fd_pipe_add_submit(ring->pipe, bo); } @@ -209,6 +213,7 @@ void fd_ringbuffer_emit_reloc_shift(struct fd_ringbuffer *ring, struct fd_bo *bo, uint32_t offset, uint32_t or, int32_t shift) { uint32_t addr = fd_bo_gpuaddr(bo, offset); + assert(addr); if (shift < 0) addr >>= -shift; else