X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Ffreedreno%2Fdrm%2Ffreedreno_bo.c;h=862465cfe43c5eea3e001c37fc67ec417d911264;hb=38a4b861459b02401d3ff71670218506e7acf019;hp=de8e128ec3f35be5685b82c6e5348603d1b3b1b6;hpb=9d8d936dfcdab52361b9824cdd1f3ddb41486145;p=mesa.git diff --git a/src/freedreno/drm/freedreno_bo.c b/src/freedreno/drm/freedreno_bo.c index de8e128ec3f..862465cfe43 100644 --- a/src/freedreno/drm/freedreno_bo.c +++ b/src/freedreno/drm/freedreno_bo.c @@ -132,9 +132,11 @@ fd_bo_new_ring(struct fd_device *dev, uint32_t size) { uint32_t flags = DRM_FREEDRENO_GEM_GPUREADONLY; struct fd_bo *bo = bo_new(dev, size, flags, &dev->ring_cache); - if (bo) + if (bo) { bo->bo_reuse = RING_CACHE; - fd_bo_set_name(bo, "cmdstream"); + bo->flags |= FD_RELOC_DUMP; + fd_bo_set_name(bo, "cmdstream"); + } return bo; } @@ -226,8 +228,16 @@ out_unlock: return bo; } +void +fd_bo_mark_for_dump(struct fd_bo *bo) +{ + bo->flags |= FD_RELOC_DUMP; +} + uint64_t fd_bo_get_iova(struct fd_bo *bo) { + /* ancient kernels did not support this */ + assert(bo->iova != 0); return bo->iova; } @@ -308,6 +318,7 @@ int fd_bo_get_name(struct fd_bo *bo, uint32_t *name) uint32_t fd_bo_handle(struct fd_bo *bo) { + bo->bo_reuse = NO_CACHE; return bo->handle; }