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
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
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.
n
fact the entire series looks good to me. For the series:
Reviewed-by: Zack Rusin
z
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:
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
; (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
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:
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
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
- 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
_
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
> 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
> 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:
>>
> 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
> 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:
>&
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
17 matches
Mail list logo