[Nouveau] [PATCH] drm/nouveau: init the base GEM fields for internal BOs
Huang Rui
ray.huang at amd.com
Thu Jun 10 09:43:31 UTC 2021
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 at amd.com>
> >> ---
> >> 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 at nvidia.com>
Reviewed-by: Huang Rui <ray.huang at amd.com>
>
> Thanks. Can anybody give me an rb that I can push this to drm-misc-next
> before the weekend?
>
> Regards,
> Christian.
>
> >
> > Mikko
>
More information about the Nouveau
mailing list