diff options
Diffstat (limited to 'src/etnaviv/drm/etnaviv_bo.c')
-rw-r--r-- | src/etnaviv/drm/etnaviv_bo.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/etnaviv/drm/etnaviv_bo.c b/src/etnaviv/drm/etnaviv_bo.c index 6436fea4162..ccf5da7c8c7 100644 --- a/src/etnaviv/drm/etnaviv_bo.c +++ b/src/etnaviv/drm/etnaviv_bo.c @@ -44,6 +44,8 @@ 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) { + VG_BO_FREE(bo); + if (bo->map) os_munmap(bo->map, bo->size); @@ -132,6 +134,8 @@ struct etna_bo *etna_bo_new(struct etna_device *dev, uint32_t size, bo->reuse = 1; pthread_mutex_unlock(&etna_drm_table_lock); + VG_BO_ALLOC(bo); + return bo; } @@ -188,8 +192,10 @@ struct etna_bo *etna_bo_from_name(struct etna_device *dev, goto out_unlock; bo = bo_from_handle(dev, req.size, req.handle, 0); - if (bo) + if (bo) { set_name(bo, name); + VG_BO_ALLOC(bo); + } out_unlock: pthread_mutex_unlock(&etna_drm_table_lock); @@ -229,6 +235,8 @@ struct etna_bo *etna_bo_from_dmabuf(struct etna_device *dev, int fd) bo = bo_from_handle(dev, size, handle, 0); + VG_BO_ALLOC(bo); + out_unlock: pthread_mutex_unlock(&etna_drm_table_lock); |