[PATCH 2/2] drm/ttm: revert "stop allocating dummy resources during BO creation"
Matthew Auld
matthew.william.auld at gmail.com
Wed Jan 25 16:24:05 UTC 2023
On Wed, 25 Jan 2023 at 16:15, Christian König <christian.koenig at amd.com> wrote:
>
> Am 25.01.23 um 17:13 schrieb Matthew Auld:
> > On Wed, 25 Jan 2023 at 15:50, Christian König
> > <ckoenig.leichtzumerken at gmail.com> wrote:
> >> This reverts commit 00984ad39599bb2a1e6ec5d4e9c75a749f7f45c9.
> >>
> >> It seems to still breka i915.
> > We also need to revert the third patch:
> >
> > b49323aa35d5 drm/ttm: prevent moving of pinned BOs
> >
> > It introduces the side effect of no longer calling tt_create(true) in
> > ttm_bo_validate(), and I'm 99% sure that will break object clearing.
> > We rely on having a ttm_tt for the initial dummy placement, with
> > FLAG_ZERO_ALLOC set if clear is needed. Also I'm not sure who even
> > creates the ttm_tt now, if ttm_bo_validate() doesn't, and we don't
> > have the dummy move, like with this patch.
>
> Oh, yes of course. Can I add your Acked-by to reverting all three?
Yeah, feel free to add. I can then resend your series with the extra
stuff we need for i915.
>
> Thanks,
> Christian.
>
> >
> >> Signed-off-by: Christian König <christian.koenig at amd.com>
> >> ---
> >> drivers/gpu/drm/ttm/ttm_bo.c | 7 +++++++
> >> 1 file changed, 7 insertions(+)
> >>
> >> diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
> >> index 33471e363ff4..9baccb2f6e99 100644
> >> --- a/drivers/gpu/drm/ttm/ttm_bo.c
> >> +++ b/drivers/gpu/drm/ttm/ttm_bo.c
> >> @@ -957,6 +957,7 @@ int ttm_bo_init_reserved(struct ttm_device *bdev, struct ttm_buffer_object *bo,
> >> struct sg_table *sg, struct dma_resv *resv,
> >> void (*destroy) (struct ttm_buffer_object *))
> >> {
> >> + static const struct ttm_place sys_mem = { .mem_type = TTM_PL_SYSTEM };
> >> int ret;
> >>
> >> kref_init(&bo->kref);
> >> @@ -973,6 +974,12 @@ int ttm_bo_init_reserved(struct ttm_device *bdev, struct ttm_buffer_object *bo,
> >> bo->base.resv = &bo->base._resv;
> >> atomic_inc(&ttm_glob.bo_count);
> >>
> >> + ret = ttm_resource_alloc(bo, &sys_mem, &bo->resource);
> >> + if (unlikely(ret)) {
> >> + ttm_bo_put(bo);
> >> + return ret;
> >> + }
> >> +
> >> /*
> >> * For ttm_bo_type_device buffers, allocate
> >> * address space from the device.
> >> --
> >> 2.34.1
> >>
>
More information about the dri-devel
mailing list