[PATCH 06/23] drm/nouveau: stop using dma_resv_excl_fence
Christian König
ckoenig.leichtzumerken at gmail.com
Tue Apr 5 07:25:50 UTC 2022
Am 04.04.22 um 13:47 schrieb Karol Herbst:
> On Sun, Apr 3, 2022 at 5:59 PM Christian König <christian.koenig at amd.com> wrote:
>> Just a gentle ping to the nouveau guys.
>>
>> Any more comments on this? Otherwise I'm pushing that with Daniels rb.
>>
> It looks fine, but given that this area broke in the past I will try
> to do some testing either before or after you push it. As long as we
> do so before 5.19 it should be okay I think.
Ok that's sounds good enough to me. Going to push it to drm-misc-next now.
Thanks,
Christian.
>
> Unless somebody knowing more about this code has anything else to say.
>
>> Thanks,
>> Christian.
>>
>> Am 21.03.22 um 14:58 schrieb Christian König:
>>> Instead use the new dma_resv_get_singleton function.
>>>
>>> Signed-off-by: Christian König <christian.koenig at amd.com>
>>> Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>
>>> Cc: Ben Skeggs <bskeggs at redhat.com>
>>> Cc: Karol Herbst <kherbst at redhat.com>
>>> Cc: Lyude Paul <lyude at redhat.com>
>>> Cc: nouveau at lists.freedesktop.org
>>> ---
>>> drivers/gpu/drm/nouveau/nouveau_bo.c | 9 ++++++++-
>>> 1 file changed, 8 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c
>>> index fa73fe57f97b..74f8652d2bd3 100644
>>> --- a/drivers/gpu/drm/nouveau/nouveau_bo.c
>>> +++ b/drivers/gpu/drm/nouveau/nouveau_bo.c
>>> @@ -959,7 +959,14 @@ nouveau_bo_vm_cleanup(struct ttm_buffer_object *bo,
>>> {
>>> struct nouveau_drm *drm = nouveau_bdev(bo->bdev);
>>> struct drm_device *dev = drm->dev;
>>> - struct dma_fence *fence = dma_resv_excl_fence(bo->base.resv);
>>> + struct dma_fence *fence;
>>> + int ret;
>>> +
>>> + /* TODO: This is actually a memory management dependency */
>>> + ret = dma_resv_get_singleton(bo->base.resv, false, &fence);
>>> + if (ret)
>>> + dma_resv_wait_timeout(bo->base.resv, false, false,
>>> + MAX_SCHEDULE_TIMEOUT);
>>>
>>> nv10_bo_put_tile_region(dev, *old_tile, fence);
>>> *old_tile = new_tile;
More information about the dri-devel
mailing list