mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00
drm/nouveau: init the base GEM fields for internal BOs
TTMs buffer objects are based on GEM objects for quite a while and rely on initializing those fields before initializing the TTM BO. Nouveau now doesn't init the GEM object for internally allocated BOs, so make sure that we at least initialize some necessary fields. Signed-off-by: Christian König <christian.koenig@amd.com> Tested-by: Mikko Perttunen <mperttunen@nvidia.com> Reviewed-by: Matthew Auld <matthew.auld@intel.com> Reviewed-by: Huang Rui <ray.huang@amd.com> Link: https://patchwork.freedesktop.org/patch/msgid/20210609172902.1937-1-christian.koenig@amd.com
This commit is contained in:
parent
fa5239f2af
commit
a3a9ee4b52
1 changed files with 6 additions and 0 deletions
|
@ -149,6 +149,8 @@ nouveau_bo_del_ttm(struct ttm_buffer_object *bo)
|
|||
*/
|
||||
if (bo->base.dev)
|
||||
drm_gem_object_release(&bo->base);
|
||||
else
|
||||
dma_resv_fini(&bo->base._resv);
|
||||
|
||||
kfree(nvbo);
|
||||
}
|
||||
|
@ -330,6 +332,10 @@ nouveau_bo_new(struct nouveau_cli *cli, u64 size, int align,
|
|||
if (IS_ERR(nvbo))
|
||||
return PTR_ERR(nvbo);
|
||||
|
||||
nvbo->bo.base.size = size;
|
||||
dma_resv_init(&nvbo->bo.base._resv);
|
||||
drm_vma_node_reset(&nvbo->bo.base.vma_node);
|
||||
|
||||
ret = nouveau_bo_init(nvbo, size, align, domain, sg, robj);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
|
Loading…
Add table
Reference in a new issue