On Thu, May 21, 2026 at 6:35 PM Maaz Mombasawala <[email protected]> wrote: > > We hit dma_resv_assert_held warnings in several places, reserve the ttm > base object when it's being used to avoid them. > > Signed-off-by: Maaz Mombasawala <[email protected]> > --- > drivers/gpu/drm/vmwgfx/vmwgfx_bo.c | 2 ++ > drivers/gpu/drm/vmwgfx/vmwgfx_vkms.c | 12 ++++++++++++ > 2 files changed, 14 insertions(+) > > diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_bo.c > b/drivers/gpu/drm/vmwgfx/vmwgfx_bo.c > index 9c7a73c0b0dc..6817e0b8ce99 100644 > --- a/drivers/gpu/drm/vmwgfx/vmwgfx_bo.c > +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_bo.c > @@ -55,7 +55,9 @@ static void vmw_bo_free(struct ttm_buffer_object *bo) > /* Reserve and switch the backing mob. */ > mutex_lock(&res->dev_priv->cmdbuf_mutex); > (void)vmw_resource_reserve(res, false, true); > + ttm_bo_reserve(bo, false, false, NULL);
We probably want to check the return here just like you did below
because if the reservation fails you'll hit the same
dma_resv_assert_held warnings.
> vmw_resource_mob_detach(res);
> + ttm_bo_unreserve(bo);
> if (res->dirty)
> res->func->dirty_free(res);
> if (res->coherent)
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_vkms.c
> b/drivers/gpu/drm/vmwgfx/vmwgfx_vkms.c
> index 7b8163b5e501..da6ccd5e318e 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_vkms.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_vkms.c
> @@ -131,6 +131,7 @@ crc_generate_worker(struct work_struct *work)
> spin_unlock_irq(&du->vkms.crc_state_lock);
>
> if (surf) {
> + int ret;
> if (vmw_surface_sync(vmw, surf)) {
> drm_warn(
> crtc->dev,
> @@ -138,7 +139,18 @@ crc_generate_worker(struct work_struct *work)
> return;
> }
>
> + ret = ttm_bo_reserve(&surf->res.guest_memory_bo->tbo, false,
> false, NULL);
> + if (ret != 0) {
> + drm_warn(&vmw->drm, "%s: failed reserve\n", __func__);
> + goto done;
> + }
> +
> compute_crc(crtc, surf, &crc32);
> +
> + ttm_bo_unreserve(&surf->res.guest_memory_bo->tbo);
> +
> +done:
> +
Is this an extra newline? Lets get rid of it.
z
smime.p7s
Description: S/MIME Cryptographic Signature
