On Thu, Jun 10, 2021 at 04:08:40PM +0800, Koenig, Christian wrote: > > > Am 09.06.21 um 19:45 schrieb Mikko Perttunen: > > On 6/9/21 8:29 PM, Christian König wrote: > >> TTMs buffer objects are based on GEM objects for quite a while > >> and rely on initializing those fields before initializing the TTM BO. > >> > >> Noveau now doesn't init the GEM object for internally allocated BOs, > > > > Nouveau > > > >> so make sure that we at least initialize some necessary fields. > >> > >> Signed-off-by: Christian König <christian.koenig@xxxxxxx> > >> --- > >> drivers/gpu/drm/nouveau/nouveau_bo.c | 6 ++++++ > >> 1 file changed, 6 insertions(+) > >> > >> diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c > >> b/drivers/gpu/drm/nouveau/nouveau_bo.c > >> index 520b1ea9d16c..085023624fb0 100644 > >> --- a/drivers/gpu/drm/nouveau/nouveau_bo.c > >> +++ b/drivers/gpu/drm/nouveau/nouveau_bo.c > >> @@ -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; > >> > > > > That works, thanks for the fix! > > > > Tested-by: Mikko Perttunen <mperttunen@xxxxxxxxxx> Reviewed-by: Huang Rui <ray.huang@xxxxxxx> > > Thanks. Can anybody give me an rb that I can push this to drm-misc-next > before the weekend? > > Regards, > Christian. > > > > > Mikko >