From a93c0e18606eaa0dc535b46179d2bc5f9fd83a18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guido=20G=C3=BCnther?= Date: Tue, 27 Apr 2021 11:43:11 +0200 Subject: [PATCH] etnaviv/drm: Add some bo debug output MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This makes it simpler to trace BO usage. Signed-off-by: Guido Günther Reviewed-by: Christian Gmeiner Acked-by: Lucas Stach Part-of: --- src/etnaviv/drm/etnaviv_bo.c | 4 ++++ src/etnaviv/drm/etnaviv_priv.h | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/src/etnaviv/drm/etnaviv_bo.c b/src/etnaviv/drm/etnaviv_bo.c index 86c0e9afb4f..38b56953c32 100644 --- a/src/etnaviv/drm/etnaviv_bo.c +++ b/src/etnaviv/drm/etnaviv_bo.c @@ -46,6 +46,7 @@ static void set_name(struct etna_bo *bo, uint32_t name) /* Called under etna_drm_table_lock */ void _etna_bo_del(struct etna_bo *bo) { + DEBUG_BO("Del bo:", bo); VG_BO_FREE(bo); simple_mtx_assert_locked(&etna_drm_table_lock); @@ -150,6 +151,7 @@ struct etna_bo *etna_bo_new(struct etna_device *dev, uint32_t size, bo->reuse = 1; simple_mtx_unlock(&etna_drm_table_lock); + DEBUG_BO("New bo:", bo); VG_BO_ALLOC(bo); return bo; @@ -210,6 +212,7 @@ struct etna_bo *etna_bo_from_name(struct etna_device *dev, bo = bo_from_handle(dev, req.size, req.handle, 0); if (bo) { set_name(bo, name); + DEBUG_BO("New from name:", bo); VG_BO_ALLOC(bo); } @@ -251,6 +254,7 @@ struct etna_bo *etna_bo_from_dmabuf(struct etna_device *dev, int fd) bo = bo_from_handle(dev, size, handle, 0); + DEBUG_BO("New from dmabuf:", bo); VG_BO_ALLOC(bo); out_unlock: diff --git a/src/etnaviv/drm/etnaviv_priv.h b/src/etnaviv/drm/etnaviv_priv.h index 880d6194e21..e4666aee181 100644 --- a/src/etnaviv/drm/etnaviv_priv.h +++ b/src/etnaviv/drm/etnaviv_priv.h @@ -205,6 +205,11 @@ extern int etna_mesa_debug; do { debug_printf("[E] " fmt " (%s:%d)\n", \ ##__VA_ARGS__, __FUNCTION__, __LINE__); } while (0) +#define DEBUG_BO(msg, bo) \ + DEBUG_MSG("%s %p, va: 0x%.8x, size: 0x%.8x, flags: 0x%.8x, " \ + "refcnt: %d, handle: 0x%.8x, name: 0x%.8x", \ + msg, bo, bo->va, bo->size, bo->flags, bo->refcnt, bo->handle, bo->name); + #define VOID2U64(x) ((uint64_t)(unsigned long)(x)) static inline void get_abs_timeout(struct drm_etnaviv_timespec *tv, uint64_t ns)