[PATCH 5/9] drm/qxl: avoid accessing iosys_map internals.
Dave Airlie
airlied at gmail.com
Thu May 22 06:52:14 UTC 2025
From: Dave Airlie <airlied at redhat.com>
This uses the new accessors to avoid touching the iosys_map internals.
Signed-off-by: Dave Airlie <airlied at 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);
}
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);
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
More information about the dri-devel
mailing list