Returning a flag from kmap() whether mapped pages refer to system or
I/O memory. This prepares for a respective change to vmap().

Signed-off-by: Thomas Zimmermann <[email protected]>
---
 drivers/gpu/drm/qxl/qxl_display.c | 6 +++---
 drivers/gpu/drm/qxl/qxl_draw.c    | 4 ++--
 drivers/gpu/drm/qxl/qxl_drv.h     | 2 +-
 drivers/gpu/drm/qxl/qxl_object.c  | 7 +++----
 drivers/gpu/drm/qxl/qxl_object.h  | 2 +-
 drivers/gpu/drm/qxl/qxl_prime.c   | 2 +-
 6 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/qxl/qxl_display.c 
b/drivers/gpu/drm/qxl/qxl_display.c
index 16d73b22f3f5..83c8df2f9d64 100644
--- a/drivers/gpu/drm/qxl/qxl_display.c
+++ b/drivers/gpu/drm/qxl/qxl_display.c
@@ -606,7 +606,7 @@ static void qxl_cursor_atomic_update(struct drm_plane 
*plane,
                user_bo = gem_to_qxl_bo(obj);
 
                /* pinning is done in the prepare/cleanup framevbuffer */
-               ret = qxl_bo_kmap(user_bo, &user_ptr);
+               ret = qxl_bo_kmap(user_bo, &user_ptr, NULL);
                if (ret)
                        goto out_free_release;
 
@@ -624,7 +624,7 @@ static void qxl_cursor_atomic_update(struct drm_plane 
*plane,
                if (ret)
                        goto out_unpin;
 
-               ret = qxl_bo_kmap(cursor_bo, (void **)&cursor);
+               ret = qxl_bo_kmap(cursor_bo, (void **)&cursor, NULL);
                if (ret)
                        goto out_backoff;
 
@@ -1167,7 +1167,7 @@ int qxl_create_monitors_object(struct qxl_device *qdev)
        if (ret)
                return ret;
 
-       qxl_bo_kmap(qdev->monitors_config_bo, NULL);
+       qxl_bo_kmap(qdev->monitors_config_bo, NULL, NULL);
 
        qdev->monitors_config = qdev->monitors_config_bo->kptr;
        qdev->ram_header->monitors_config =
diff --git a/drivers/gpu/drm/qxl/qxl_draw.c b/drivers/gpu/drm/qxl/qxl_draw.c
index 5bebf1ea1c5d..962fc1aa00b7 100644
--- a/drivers/gpu/drm/qxl/qxl_draw.c
+++ b/drivers/gpu/drm/qxl/qxl_draw.c
@@ -45,7 +45,7 @@ static struct qxl_rect *drawable_set_clipping(struct 
qxl_device *qdev,
        struct qxl_clip_rects *dev_clips;
        int ret;
 
-       ret = qxl_bo_kmap(clips_bo, (void **)&dev_clips);
+       ret = qxl_bo_kmap(clips_bo, (void **)&dev_clips, NULL);
        if (ret) {
                return NULL;
        }
@@ -197,7 +197,7 @@ void qxl_draw_dirty_fb(struct qxl_device *qdev,
        if (ret)
                goto out_release_backoff;
 
-       ret = qxl_bo_kmap(bo, (void **)&surface_base);
+       ret = qxl_bo_kmap(bo, (void **)&surface_base, NULL);
        if (ret)
                goto out_release_backoff;
 
diff --git a/drivers/gpu/drm/qxl/qxl_drv.h b/drivers/gpu/drm/qxl/qxl_drv.h
index 27e45a2d6b52..e749c0d0e819 100644
--- a/drivers/gpu/drm/qxl/qxl_drv.h
+++ b/drivers/gpu/drm/qxl/qxl_drv.h
@@ -342,7 +342,7 @@ int qxl_gem_object_open(struct drm_gem_object *obj, struct 
drm_file *file_priv);
 void qxl_gem_object_close(struct drm_gem_object *obj,
                          struct drm_file *file_priv);
 void qxl_bo_force_delete(struct qxl_device *qdev);
-int qxl_bo_kmap(struct qxl_bo *bo, void **ptr);
+int qxl_bo_kmap(struct qxl_bo *bo, void **ptr, bool *is_iomem);
 
 /* qxl_dumb.c */
 int qxl_mode_dumb_create(struct drm_file *file_priv,
diff --git a/drivers/gpu/drm/qxl/qxl_object.c b/drivers/gpu/drm/qxl/qxl_object.c
index ab72dc3476e9..8507ac2c7d6a 100644
--- a/drivers/gpu/drm/qxl/qxl_object.c
+++ b/drivers/gpu/drm/qxl/qxl_object.c
@@ -143,9 +143,8 @@ int qxl_bo_create(struct qxl_device *qdev,
        return 0;
 }
 
-int qxl_bo_kmap(struct qxl_bo *bo, void **ptr)
+int qxl_bo_kmap(struct qxl_bo *bo, void **ptr, bool *is_iomem)
 {
-       bool is_iomem;
        int r;
 
        if (bo->kptr) {
@@ -157,7 +156,7 @@ int qxl_bo_kmap(struct qxl_bo *bo, void **ptr)
        r = ttm_bo_kmap(&bo->tbo, 0, bo->tbo.num_pages, &bo->kmap);
        if (r)
                return r;
-       bo->kptr = ttm_kmap_obj_virtual(&bo->kmap, &is_iomem);
+       bo->kptr = ttm_kmap_obj_virtual(&bo->kmap, is_iomem);
        if (ptr)
                *ptr = bo->kptr;
        bo->map_count = 1;
@@ -187,7 +186,7 @@ void *qxl_bo_kmap_atomic_page(struct qxl_device *qdev,
                return rptr;
        }
 
-       ret = qxl_bo_kmap(bo, &rptr);
+       ret = qxl_bo_kmap(bo, &rptr, NULL);
        if (ret)
                return NULL;
 
diff --git a/drivers/gpu/drm/qxl/qxl_object.h b/drivers/gpu/drm/qxl/qxl_object.h
index 8ae54ba7857c..79cb363b3b8b 100644
--- a/drivers/gpu/drm/qxl/qxl_object.h
+++ b/drivers/gpu/drm/qxl/qxl_object.h
@@ -91,7 +91,7 @@ extern int qxl_bo_create(struct qxl_device *qdev,
                         bool kernel, bool pinned, u32 domain,
                         struct qxl_surface *surf,
                         struct qxl_bo **bo_ptr);
-extern int qxl_bo_kmap(struct qxl_bo *bo, void **ptr);
+extern int qxl_bo_kmap(struct qxl_bo *bo, void **ptr, bool *is_iomem);
 extern void qxl_bo_kunmap(struct qxl_bo *bo);
 void *qxl_bo_kmap_atomic_page(struct qxl_device *qdev, struct qxl_bo *bo, int 
page_offset);
 void qxl_bo_kunmap_atomic_page(struct qxl_device *qdev, struct qxl_bo *bo, 
void *map);
diff --git a/drivers/gpu/drm/qxl/qxl_prime.c b/drivers/gpu/drm/qxl/qxl_prime.c
index 7d3816fca5a8..e67ebbdeb7f2 100644
--- a/drivers/gpu/drm/qxl/qxl_prime.c
+++ b/drivers/gpu/drm/qxl/qxl_prime.c
@@ -60,7 +60,7 @@ void *qxl_gem_prime_vmap(struct drm_gem_object *obj)
        void *ptr;
        int ret;
 
-       ret = qxl_bo_kmap(bo, &ptr);
+       ret = qxl_bo_kmap(bo, &ptr, NULL);
        if (ret < 0)
                return ERR_PTR(ret);
 
-- 
2.23.0

_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to