Re: [PATCH 2/2] drm/ttm: revert "stop allocating dummy resources during BO creation"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am 25.01.23 um 17:13 schrieb Matthew Auld:
On Wed, 25 Jan 2023 at 15:50, Christian König
<ckoenig.leichtzumerken@xxxxxxxxx> 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?

Thanks,
Christian.


Signed-off-by: Christian König <christian.koenig@xxxxxxx>
---
  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





[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux