On Fri, Feb 27, 2026 at 02:31:12PM +0100, Thomas Zimmermann wrote:
> Instead of testing import_attach for imported GEM buffers, invoke
> drm_gem_is_imported() to do the test. The test itself does not change.
> 
> Signed-off-by: Thomas Zimmermann <[email protected]>
> Cc: Matthew Brost <[email protected]>

This looks better - Thanks.

Reviewed-by: Matthew Brost <[email protected]>

> Cc: "Thomas Hellström" <[email protected]>
> Cc: Rodrigo Vivi <[email protected]>
> Cc: [email protected]
> ---
>  drivers/gpu/drm/xe/xe_bo.c | 8 ++++----
>  drivers/gpu/drm/xe/xe_vm.c | 2 +-
>  2 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_bo.c b/drivers/gpu/drm/xe/xe_bo.c
> index 8ff193600443..b28ed3fa370e 100644
> --- a/drivers/gpu/drm/xe/xe_bo.c
> +++ b/drivers/gpu/drm/xe/xe_bo.c
> @@ -817,7 +817,7 @@ static int xe_bo_move_notify(struct xe_bo *bo,
>               return ret;
>  
>       /* Don't call move_notify() for imported dma-bufs. */
> -     if (ttm_bo->base.dma_buf && !ttm_bo->base.import_attach)
> +     if (ttm_bo->base.dma_buf && !drm_gem_is_imported(&ttm_bo->base))
>               dma_buf_invalidate_mappings(ttm_bo->base.dma_buf);
>  
>       /*
> @@ -1707,7 +1707,7 @@ static void xe_ttm_bo_destroy(struct ttm_buffer_object 
> *ttm_bo)
>       struct xe_tile *tile;
>       u8 id;
>  
> -     if (bo->ttm.base.import_attach)
> +     if (drm_gem_is_imported(&bo->ttm.base))
>               drm_prime_gem_destroy(&bo->ttm.base, NULL);
>       drm_gem_object_release(&bo->ttm.base);
>  
> @@ -2829,7 +2829,7 @@ int xe_bo_pin(struct xe_bo *bo, struct drm_exec *exec)
>        * No reason we can't support pinning imported dma-bufs we just don't
>        * expect to pin an imported dma-buf.
>        */
> -     xe_assert(xe, !bo->ttm.base.import_attach);
> +     xe_assert(xe, !drm_gem_is_imported(&bo->ttm.base));
>  
>       /* We only expect at most 1 pin */
>       xe_assert(xe, !xe_bo_is_pinned(bo));
> @@ -2899,7 +2899,7 @@ void xe_bo_unpin(struct xe_bo *bo)
>       struct ttm_place *place = &bo->placements[0];
>       struct xe_device *xe = xe_bo_device(bo);
>  
> -     xe_assert(xe, !bo->ttm.base.import_attach);
> +     xe_assert(xe, !drm_gem_is_imported(&bo->ttm.base));
>       xe_assert(xe, xe_bo_is_pinned(bo));
>  
>       if (mem_type_is_vram(place->mem_type) || bo->flags & XE_BO_FLAG_GGTT) {
> diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
> index 5adabfd5dc30..052ddb167dbf 100644
> --- a/drivers/gpu/drm/xe/xe_vm.c
> +++ b/drivers/gpu/drm/xe/xe_vm.c
> @@ -3604,7 +3604,7 @@ static int xe_vm_bind_ioctl_validate_bo(struct 
> xe_device *xe, struct xe_bo *bo,
>        * with a PAT index that enables compression.
>        */
>       comp_en = xe_pat_index_get_comp_en(xe, pat_index);
> -     if (XE_IOCTL_DBG(xe, bo->ttm.base.import_attach && comp_en))
> +     if (XE_IOCTL_DBG(xe, drm_gem_is_imported(&bo->ttm.base) && comp_en))
>               return -EINVAL;
>  
>       /* If a BO is protected it can only be mapped if the key is still valid 
> */
> -- 
> 2.52.0
> 

Reply via email to