On Thu, May 22, 2025 at 04:52:14PM +1000, Dave Airlie wrote:
From: Dave Airlie <airl...@redhat.com>

This uses the new accessors to avoid touching the iosys_map internals.

Signed-off-by: Dave Airlie <airl...@redhat.com>
---
drivers/gpu/drm/qxl/qxl_display.c | 14 +++++++-------
drivers/gpu/drm/qxl/qxl_draw.c    |  4 ++--
drivers/gpu/drm/qxl/qxl_object.c  |  8 ++++----
3 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/drivers/gpu/drm/qxl/qxl_display.c 
b/drivers/gpu/drm/qxl/qxl_display.c
index 70aff64ced87..e833b0bbff47 100644
--- a/drivers/gpu/drm/qxl/qxl_display.c
+++ b/drivers/gpu/drm/qxl/qxl_display.c
@@ -602,16 +602,16 @@ static struct qxl_bo *qxl_create_cursor(struct qxl_device 
*qdev,
        cursor.chunk.next_chunk = 0;
        cursor.chunk.prev_chunk = 0;
        cursor.chunk.data_size = size;
-       if (cursor_map.is_iomem) {
-               memcpy_toio(cursor_map.vaddr_iomem,
+       if (iosys_map_is_iomem(&cursor_map)) {
+               memcpy_toio(iosys_map_ioptr(&cursor_map),
                            &cursor, sizeof(cursor));
-               memcpy_toio(cursor_map.vaddr_iomem + sizeof(cursor),
-                           user_map.vaddr, size);
+               memcpy_toio(iosys_map_ioptr(&cursor_map) + sizeof(cursor),
+                           iosys_map_ptr(&user_map), size);
        } else {
-               memcpy(cursor_map.vaddr,
+               memcpy(iosys_map_ptr(&cursor_map),
                       &cursor, sizeof(cursor));
-               memcpy(cursor_map.vaddr + sizeof(cursor),
-                      user_map.vaddr, size);
+               memcpy(iosys_map_ptr(&cursor_map) + sizeof(cursor),
+                      iosys_map_ptr(&user_map), size);

these would better use iosys_map_memcpy_*, but could be a follow up to
this (automated?)  conversion.

        }

        qxl_bo_vunmap_and_unpin(user_bo);
diff --git a/drivers/gpu/drm/qxl/qxl_draw.c b/drivers/gpu/drm/qxl/qxl_draw.c
index 3a3e127ce297..6000936bc8d0 100644
--- a/drivers/gpu/drm/qxl/qxl_draw.c
+++ b/drivers/gpu/drm/qxl/qxl_draw.c
@@ -52,7 +52,7 @@ static struct qxl_rect *drawable_set_clipping(struct 
qxl_device *qdev,
        ret = qxl_bo_vmap_locked(clips_bo, &map);
        if (ret)
                return NULL;
-       dev_clips = map.vaddr; /* TODO: Use mapping abstraction properly */
+       dev_clips = iosys_map_ptr(&map); /* TODO: Use mapping abstraction 
properly */

        dev_clips->num_rects = num_clips;
        dev_clips->chunk.next_chunk = 0;
@@ -206,7 +206,7 @@ void qxl_draw_dirty_fb(struct qxl_device *qdev,
        ret = qxl_bo_vmap_locked(bo, &surface_map);
        if (ret)
                goto out_release_backoff;
-       surface_base = surface_map.vaddr; /* TODO: Use mapping abstraction 
properly */
+       surface_base = iosys_map_ptr(&surface_map); /* TODO: Use mapping 
abstraction properly */

        ret = qxl_image_init(qdev, release, dimage, surface_base,
                             left - dumb_shadow_offset,
diff --git a/drivers/gpu/drm/qxl/qxl_object.c b/drivers/gpu/drm/qxl/qxl_object.c
index 66635c55cf85..dcc1f6393885 100644
--- a/drivers/gpu/drm/qxl/qxl_object.c
+++ b/drivers/gpu/drm/qxl/qxl_object.c
@@ -172,10 +172,10 @@ int qxl_bo_vmap_locked(struct qxl_bo *bo, struct 
iosys_map *map)
        bo->map_count = 1;

        /* TODO: Remove kptr in favor of map everywhere. */
-       if (bo->map.is_iomem)
-               bo->kptr = (void *)bo->map.vaddr_iomem;
+       if (iosys_map_is_iomem(&bo->map))
+               bo->kptr = (void *)iosys_map_ioptr(&bo->map);

this looks wrong as we then lose the __iomem. Or is this dead code and
it's never iomem?  Anyway, pre-existent issue unrelated to this patch.

Lucas De Marchi

        else
-               bo->kptr = bo->map.vaddr;
+               bo->kptr = iosys_map_ptr(&bo->map);

out:
        *map = bo->map;
@@ -230,7 +230,7 @@ void *qxl_bo_kmap_atomic_page(struct qxl_device *qdev,
        ret = qxl_bo_vmap_locked(bo, &bo_map);
        if (ret)
                return NULL;
-       rptr = bo_map.vaddr; /* TODO: Use mapping abstraction properly */
+       rptr = iosys_map_ptr(&bo_map); /* TODO: Use mapping abstraction 
properly */

        rptr += page_offset * PAGE_SIZE;
        return rptr;
--
2.49.0

Reply via email to