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 <robclark@freedesktop.org>
* Rob Clark <robclark@freedesktop.org>
*/
* Rob Clark <robclark@freedesktop.org>
*/
#include "freedreno_drmif.h"
#include "freedreno_priv.h"
#include "freedreno_ringbuffer.h"
#include "freedreno_drmif.h"
#include "freedreno_priv.h"
#include "freedreno_ringbuffer.h"
void fd_ringbuffer_emit_reloc(struct fd_ringbuffer *ring,
struct fd_bo *bo, uint32_t offset, uint32_t or)
{
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);
}
fd_pipe_add_submit(ring->pipe, bo);
}
struct fd_bo *bo, uint32_t offset, uint32_t or, int32_t shift)
{
uint32_t addr = fd_bo_gpuaddr(bo, offset);
struct fd_bo *bo, uint32_t offset, uint32_t or, int32_t shift)
{
uint32_t addr = fd_bo_gpuaddr(bo, offset);
if (shift < 0)
addr >>= -shift;
else
if (shift < 0)
addr >>= -shift;
else