Re: [PATCH 00/13] drm: Fix reservation locking for pin/unpin and console

2024-02-27 Thread Zack Rusin
e21ba4582761c > prerequisite-patch-id: 734c87e610747779aa41be12eb9e4c984bdfa743 > prerequisite-patch-id: 0aa359f6144c4015c140c8a6750be19099c676fb > prerequisite-patch-id: c67e5d886a47b7d0266d81100837557fda34cb24 > prerequisite-patch-id: cbc453ee02fae02af22fbfdce56ab732c7a88c36 > -- > 2.43.2 > That's a really nice cleanup! I already gave a r-b for 9/13. For the rest: Acked-by: Zack Rusin z

Re: [PATCH 09/13] drm/gem: Acquire reservation lock in drm_gem_{pin/unpin}()

2024-02-27 Thread Zack Rusin
false); > + struct vmw_bo *vbo = to_vmw_bo(obj); > + > + vmw_bo_pin_reserved(vbo, false); > } > > static struct sg_table *vmw_gem_object_get_sg_table(struct drm_gem_object > *obj) > diff --git a/include/drm/drm_gem_shmem_helper.h > b/include/drm/drm_gem_shmem_helper.h > index eb12aa9a8c556..efbc9f27312b5 100644 > --- a/include/drm/drm_gem_shmem_helper.h > +++ b/include/drm/drm_gem_shmem_helper.h > @@ -175,15 +175,8 @@ static inline void > drm_gem_shmem_object_print_info(struct drm_printer *p, unsign > static inline int drm_gem_shmem_object_pin(struct drm_gem_object *obj) > { > struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); > - int ret; > > - ret = dma_resv_lock_interruptible(shmem->base.resv, NULL); > - if (ret) > - return ret; > - ret = drm_gem_shmem_pin_locked(shmem); > - dma_resv_unlock(shmem->base.resv); > - > - return ret; > + return drm_gem_shmem_pin_locked(shmem); > } > > /** > @@ -197,9 +190,7 @@ static inline void drm_gem_shmem_object_unpin(struct > drm_gem_object *obj) > { > struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); > > - dma_resv_lock(shmem->base.resv, NULL); > drm_gem_shmem_unpin_locked(shmem); > - dma_resv_unlock(shmem->base.resv); > } > > Ah, I see. Looks great. Reviewed-by: Zack Rusin

Re: [PATCH 08/13] drm/qxl: Acquire reservation lock in GEM pin/unpin callbacks

2024-02-27 Thread Zack Rusin
On Tue, Feb 27, 2024 at 6:39 AM Thomas Zimmermann wrote: > > Acquire the reservation lock directly in GEM pin callback. Same for > unpin. Prepares for further changes. > > Dma-buf locking semantics require callers to hold the buffer's > reservation lock when invoking the pin and unpin callbacks.

Re: Rework TTMs busy handling

2024-01-16 Thread Zack Rusin
n fact the entire series looks good to me. For the series: Reviewed-by: Zack Rusin z

Re: [PATCH 2/4] drm/ttm: replace busy placement with flags v4

2024-01-16 Thread Zack Rusin
On Thu, Jan 4, 2024 at 10:05 AM Christian König wrote: > > From: Somalapuram Amaranath > > Instead of a list of separate busy placement add flags which indicate > that a placement should only be used when there is room or if we need to > evict. > > v2: add missing TTM_PL_FLAG_IDLE for i915 > v3:

Re: [PATCH 3/5] drm/ttm: replace busy placement with flags v5

2024-01-16 Thread Zack Rusin
t; if (res->placement & TTM_PL_FLAG_TEMPORARY) > return false; > > - for (i = 0; i < num_placement; i++) { > - const struct ttm_place *heap = [i]; > + for (i = 0; i < placement->num_placement; i++) { > + const struct ttm_place *place = >placement[i]; > + struct ttm_resource_manager *man; > > - if (!ttm_resource_compatible(bdev, res, heap, bo->base.size)) > + if (res->mem_type != place->mem_type) > + continue; > + > + man = ttm_manager_type(bdev, res->mem_type); > + if (man->func->compatible && > + !man->func->compatible(man, res, place, bo->base.size)) > continue; > > - if ((res->mem_type == heap->mem_type) && > - (!(heap->flags & TTM_PL_FLAG_CONTIGUOUS) || > + if ((!(place->flags & TTM_PL_FLAG_CONTIGUOUS) || > (res->placement & TTM_PL_FLAG_CONTIGUOUS))) > return true; > } > return false; > } > > -/** > - * ttm_resource_compat - check if resource is compatible with placement > - * > - * @res: the resource to check > - * @placement: the placement to check against > - * > - * Returns true if the placement is compatible. > - */ > -bool ttm_resource_compat(struct ttm_resource *res, > -struct ttm_placement *placement) > -{ > - if (ttm_resource_places_compat(res, placement->placement, > - placement->num_placement)) > - return true; > - > - if ((placement->busy_placement != placement->placement || > -placement->num_busy_placement > placement->num_placement) && > - ttm_resource_places_compat(res, placement->busy_placement, > - placement->num_busy_placement)) > - return true; > - > - return false; > -} > - > void ttm_resource_set_bo(struct ttm_resource *res, > struct ttm_buffer_object *bo) > { > diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_bo.c > b/drivers/gpu/drm/vmwgfx/vmwgfx_bo.c > index 2bfac3aad7b7..7d7b33fcb5cf 100644 > --- a/drivers/gpu/drm/vmwgfx/vmwgfx_bo.c > +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_bo.c > @@ -821,8 +821,6 @@ void vmw_bo_placement_set(struct vmw_bo *bo, u32 domain, > u32 busy_domain) > __func__, bo->tbo.resource->mem_type, > domain); > } > > - pl->busy_placement = bo->busy_places; > - pl->num_busy_placement = set_placement_list(bo->busy_places, > busy_domain); > } Sorry, one last thing. Could you add the exact same code you've added to nouveau_bo.c here or add a fixme mentioning that it should be done? With that, for the series: Reviewed-by: Zack Rusin z

Re: [PATCH 8/9] drm/vmwgfx: Annotate struct vmw_surface_dirty with __counted_by

2023-09-22 Thread Zack Rusin
; (for array indexing) and CONFIG_FORTIFY_SOURCE (for strcpy/memcpy-family > functions). > > As found with Coccinelle[1], add __counted_by for struct vmw_surface_dirty. > > [1] > https://github.com/kees/kernel-tools/blob/trunk/coccinelle/examples/counted_by.cocci > > Cc: Zack Ru

[Nouveau] [PATCH] drm/nouveau: Remove unused variable

2023-05-04 Thread Zack Rusin
From: Zack Rusin Trivial removal of an unused variable. Not sure how it snuck by me and build bots in the 7c99616e3fe7. Fixes: 7c99616e3fe7 ("drm: Remove drm_mode_config::fb_base") Reported-by: Stephen Rothwell Cc: Laurent Pinchart Cc: Thomas Zimmermann Cc: Christian König Cc:

Re: [Nouveau] [PATCH v4 25/27] drm/vmwgfx: Don't set struct drm_device.irq_enabled

2021-06-26 Thread Zack Rusin
immermann > Reviewed-by: Laurent Pinchart > Acked-by: Daniel Vetter Looks good. Reviewed-by: Zack Rusin ___ Nouveau mailing list Nouveau@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/nouveau

Re: [Nouveau] [PATCH 6/8] drm/vmwgfx: Inline ttm_bo_mmap() into vmwgfx driver

2021-04-07 Thread Zack Rusin
big deal and I know it's been in the original, but since you're already in there if you could change this to DRM_ERR that'd be great. Either way: Reviewed-by: Zack Rusin z ___ Nouveau mailing list Nouveau@lists.freedesktop.org https://lists.fre

Re: [Nouveau] [PATCH 7/8] drm/vmwgfx: Inline vmw_verify_access()

2021-04-07 Thread Zack Rusin
- goto out_unref; - } - ret = bo->bdev->funcs->verify_access(bo, filp); + ret = vmw_user_bo_verify_access(bo, tfile); if (unlikely(ret != 0)) goto out_unref; Looks great. Reviewed-by: Zack Rusin z _

Re: [Nouveau] [patch 2/7] drm/vmgfx: Replace kmap_atomic()

2021-03-04 Thread Zack Rusin
usage with the given pgprot. > > Remove the NULL pointer check for the map. These functions return a valid > address for valid pages and the return was bogus anyway as it would have > left preemption and pagefaults disabled. > > Signed-off-by: Thomas Gleixner > Cc: VMware Grap

Re: [Nouveau] [PATCH 00/29] [Set 15] Finally rid W=1 warnings from GPU!

2021-01-19 Thread Zack Rusin
> On Jan 19, 2021, at 03:29, Lee Jones wrote: > > On Mon, 18 Jan 2021, Daniel Vetter wrote: > >> On Mon, Jan 18, 2021 at 03:09:45PM +, Lee Jones wrote: >>> On Mon, 18 Jan 2021, Daniel Vetter wrote: >>> >>>> On Fri, Jan 15, 2021 at 06:27:15

Re: [Nouveau] [PATCH 14/15] drm/vmwgfx: Remove references to struct drm_device.pdev

2020-12-03 Thread Zack Rusin
> On Dec 3, 2020, at 10:12, Daniel Vetter wrote: > > On Thu, Dec 03, 2020 at 03:06:20AM +0000, Zack Rusin wrote: >> >> >>> On Dec 2, 2020, at 11:03, Daniel Vetter wrote: >>> >>> On Wed, Dec 2, 2020 at 4:37 PM Zack Rusin wrote: >>

Re: [Nouveau] [PATCH 14/15] drm/vmwgfx: Remove references to struct drm_device.pdev

2020-12-03 Thread Zack Rusin
> On Dec 2, 2020, at 11:03, Daniel Vetter wrote: > > On Wed, Dec 2, 2020 at 4:37 PM Zack Rusin wrote: >> >> >> >>> On Dec 2, 2020, at 09:27, Thomas Zimmermann wrote: >>> >>> Hi >>> >>> Am 02.12.20 um 09:01 schrieb

Re: [Nouveau] [PATCH 14/15] drm/vmwgfx: Remove references to struct drm_device.pdev

2020-12-03 Thread Zack Rusin
> On Dec 2, 2020, at 09:27, Thomas Zimmermann wrote: > > Hi > > Am 02.12.20 um 09:01 schrieb Thomas Zimmermann: >> Hi >> Am 30.11.20 um 21:59 schrieb Zack Rusin: >>> >>> >>>> On Nov 24, 2020, at 06:38, Thomas Zimmermann wrote: >&

Re: [Nouveau] [PATCH 14/15] drm/vmwgfx: Remove references to struct drm_device.pdev

2020-11-30 Thread Zack Rusin
vmwgfx/vmwgfx_cmdbuf.c | 8 > drivers/gpu/drm/vmwgfx/vmwgfx_drv.c| 27 +- > drivers/gpu/drm/vmwgfx/vmwgfx_fb.c | 2 +- Reviewed-by: Zack Rusin z ___ Nouveau mailing list Nouveau@lists.freedesktop.org https://lists