accel/qaic: Test for imported buffers with drm_gem_is_imported()
authorThomas Zimmermann <tzimmermann@suse.de>
Tue, 8 Apr 2025 11:52:22 +0000 (13:52 +0200)
committerJeff Hugo <jeff.hugo@oss.qualcomm.com>
Fri, 11 Apr 2025 15:40:30 +0000 (09:40 -0600)
Instead of testing import_attach for imported GEM buffers, invoke
drm_gem_is_imported() to do the test. The helper tests the dma_buf
itself while import_attach is just an artifact of the import. Prepares
to make import_attach optional.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Jeff Hugo <jeff.hugo@oss.qualcomm.com>
Signed-off-by: Jeff Hugo <jeff.hugo@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250408115237.428985-1-tzimmermann@suse.de
drivers/accel/qaic/qaic_data.c

index 43aba57b48f05f590927efc74a5924e47ec94381..1bce1af7c72c397133b298854291b94dbe8e061a 100644 (file)
@@ -609,7 +609,7 @@ static int qaic_gem_object_mmap(struct drm_gem_object *obj, struct vm_area_struc
        struct scatterlist *sg;
        int ret = 0;
 
-       if (obj->import_attach)
+       if (drm_gem_is_imported(obj))
                return -EINVAL;
 
        for (sg = bo->sgt->sgl; sg; sg = sg_next(sg)) {
@@ -630,7 +630,7 @@ static void qaic_free_object(struct drm_gem_object *obj)
 {
        struct qaic_bo *bo = to_qaic_bo(obj);
 
-       if (obj->import_attach) {
+       if (drm_gem_is_imported(obj)) {
                /* DMABUF/PRIME Path */
                drm_prime_gem_destroy(obj, NULL);
        } else {
@@ -870,7 +870,7 @@ static int qaic_prepare_bo(struct qaic_device *qdev, struct qaic_bo *bo,
 {
        int ret;
 
-       if (bo->base.import_attach)
+       if (drm_gem_is_imported(&bo->base))
                ret = qaic_prepare_import_bo(bo, hdr);
        else
                ret = qaic_prepare_export_bo(qdev, bo, hdr);
@@ -894,7 +894,7 @@ static void qaic_unprepare_export_bo(struct qaic_device *qdev, struct qaic_bo *b
 
 static void qaic_unprepare_bo(struct qaic_device *qdev, struct qaic_bo *bo)
 {
-       if (bo->base.import_attach)
+       if (drm_gem_is_imported(&bo->base))
                qaic_unprepare_import_bo(bo);
        else
                qaic_unprepare_export_bo(qdev, bo);