search for: nvobj_flag_heap

Displaying 2 results from an estimated 2 matches for "nvobj_flag_heap".

2013 Feb 05
0
[PATCH] drm/nouveau: fix lockdep splat in display
...v50_disp_data_ctor(struct nouveau_object *parent, } /* allocate display hardware to client */ - mutex_lock(&nv_subdev(priv)->mutex); - if (list_empty(&nv_engine(priv)->contexts)) { - ret = nouveau_engctx_create(parent, engine, oclass, NULL, - 0x10000, 0x10000, - NVOBJ_FLAG_HEAP, &ectx); - *pobject = nv_object(ectx); - } - mutex_unlock(&nv_subdev(priv)->mutex); + ret = nouveau_engctx_create(parent, engine, oclass, NULL, 0x10000, 0x10000, + NVOBJ_FLAG_HEAP | NVOBJ_FLAG_CREAT_EXCL, &ectx); + + *pobject = nv_object(ectx); return ret; } diff --git a...
2012 Oct 07
2
[PATCH] drm/nouveau: fix error handling in core/core object creation functions
...ret = nouveau_mm_head(heap, 1, size, size, max(align, (u32)1), &gpuobj->node); if (ret) - return ret; + goto err; gpuobj->addr += gpuobj->node->offset; } @@ -121,7 +121,7 @@ nouveau_gpuobj_create_(struct nouveau_object *parent, if (gpuobj->flags & NVOBJ_FLAG_HEAP) { ret = nouveau_mm_init(&gpuobj->heap, 0, gpuobj->size, 1); if (ret) - return ret; + goto err; } if (flags & NVOBJ_FLAG_ZERO_ALLOC) { @@ -130,6 +130,9 @@ nouveau_gpuobj_create_(struct nouveau_object *parent, } return ret; +err: + nouveau_gpuobj_destroy(gpuobj);...