Message ID | 20220422161342.1142584-1-zack@kde.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/vmwgfx: Reserve fence slots on buffer objects in cotables | expand |
Am 22.04.22 um 18:13 schrieb Zack Rusin: > From: Zack Rusin <zackr@vmware.com> > > The buffer objects created by cotables were missing fence reservations. > They are created from vmw_validation_res_validate which makes them miss > the ttm_eu_reserve_buffers which is called from vmw_validation_bo_reserve. > > Cotables are the only resources which create a buffer object in the > create callback so make sure the code also reserves the slots. > > Signed-off-by: Zack Rusin <zackr@vmware.com> > Fixes: c8d4c18bfbc4 ("dma-buf/drivers: make reserving a shared slot mandatory v4") Reviewed-by: Christian König <christian.koenig@amd.com> > --- > drivers/gpu/drm/vmwgfx/vmwgfx_cotable.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_cotable.c b/drivers/gpu/drm/vmwgfx/vmwgfx_cotable.c > index 16f986b6cbea..79b30dc9d825 100644 > --- a/drivers/gpu/drm/vmwgfx/vmwgfx_cotable.c > +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_cotable.c > @@ -478,6 +478,10 @@ static int vmw_cotable_resize(struct vmw_resource *res, size_t new_size) > vmw_bo_unreference(&old_buf); > res->id = vcotbl->type; > > + ret = dma_resv_reserve_fences(bo->base.resv, 1); > + if (unlikely(ret)) > + goto out_wait; > + > /* Release the pin acquired in vmw_bo_init */ > ttm_bo_unpin(bo); >
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_cotable.c b/drivers/gpu/drm/vmwgfx/vmwgfx_cotable.c index 16f986b6cbea..79b30dc9d825 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_cotable.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_cotable.c @@ -478,6 +478,10 @@ static int vmw_cotable_resize(struct vmw_resource *res, size_t new_size) vmw_bo_unreference(&old_buf); res->id = vcotbl->type; + ret = dma_resv_reserve_fences(bo->base.resv, 1); + if (unlikely(ret)) + goto out_wait; + /* Release the pin acquired in vmw_bo_init */ ttm_bo_unpin(bo);