From e0cda48a90e0fefc613b52eb014c2b4388d3ccf9 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Tue, 17 Sep 2024 14:20:30 -0400 Subject: [PATCH] asahi/virtio: fix ptr cats ../src/asahi/lib/decode.c:933:7: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] 933 | (void *)c->vertex_attachments; | ^ ../src/asahi/lib/decode.c:941:7: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] 941 | (void *)c->fragment_attachments; etc Signed-off-by: Alyssa Rosenzweig Part-of: --- src/asahi/lib/agx_device_virtio.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/asahi/lib/agx_device_virtio.c b/src/asahi/lib/agx_device_virtio.c index 83ce8d7fedf..8162da98b18 100644 --- a/src/asahi/lib/agx_device_virtio.c +++ b/src/asahi/lib/agx_device_virtio.c @@ -197,10 +197,11 @@ agx_virtio_submit(struct agx_device *dev, struct drm_asahi_submit *submit, struct agx_submit_virt *virt) { struct drm_asahi_command *commands = - (struct drm_asahi_command *)submit->commands; - struct drm_asahi_sync *in_syncs = (struct drm_asahi_sync *)submit->in_syncs; + (struct drm_asahi_command *)(uintptr_t)submit->commands; + struct drm_asahi_sync *in_syncs = + (struct drm_asahi_sync *)(uintptr_t)submit->in_syncs; struct drm_asahi_sync *out_syncs = - (struct drm_asahi_sync *)submit->out_syncs; + (struct drm_asahi_sync *)(uintptr_t)submit->out_syncs; size_t req_len = sizeof(struct asahi_ccmd_submit_req); for (int i = 0; i < submit->command_count; i++) { @@ -213,7 +214,7 @@ agx_virtio_submit(struct agx_device *dev, struct drm_asahi_submit *submit, case DRM_ASAHI_CMD_RENDER: { struct drm_asahi_cmd_render *render = - (struct drm_asahi_cmd_render *)commands[i].cmd_buffer; + (struct drm_asahi_cmd_render *)(uintptr_t)commands[i].cmd_buffer; req_len += sizeof(struct drm_asahi_command) + sizeof(struct drm_asahi_cmd_render); req_len += render->fragment_attachment_count * @@ -244,15 +245,17 @@ agx_virtio_submit(struct agx_device *dev, struct drm_asahi_submit *submit, memcpy(ptr, &commands[i], sizeof(struct drm_asahi_command)); ptr += sizeof(struct drm_asahi_command); - memcpy(ptr, (char *)commands[i].cmd_buffer, commands[i].cmd_buffer_size); + memcpy(ptr, (char *)(uintptr_t)commands[i].cmd_buffer, + commands[i].cmd_buffer_size); ptr += commands[i].cmd_buffer_size; if (commands[i].cmd_type == DRM_ASAHI_CMD_RENDER) { struct drm_asahi_cmd_render *render = - (struct drm_asahi_cmd_render *)commands[i].cmd_buffer; + (struct drm_asahi_cmd_render *)(uintptr_t)commands[i].cmd_buffer; size_t fragments_size = sizeof(struct drm_asahi_attachment) * render->fragment_attachment_count; - memcpy(ptr, (char *)render->fragment_attachments, fragments_size); + memcpy(ptr, (char *)(uintptr_t)render->fragment_attachments, + fragments_size); ptr += fragments_size; } }