@@ -987,7 +987,12 @@ void virtio_gpu_cmd_transfer_to_host_3d(struct virtio_gpu_device *vgdev,
cmd_p->hdr.type = cpu_to_le32(VIRTIO_GPU_CMD_TRANSFER_TO_HOST_3D);
cmd_p->hdr.ctx_id = cpu_to_le32(ctx_id);
cmd_p->resource_id = cpu_to_le32(bo->hw_res_handle);
- cmd_p->box = *box;
+ cmd_p->box.x = cpu_to_le32(box->x);
+ cmd_p->box.y = cpu_to_le32(box->y);
+ cmd_p->box.z = cpu_to_le32(box->z);
+ cmd_p->box.w = cpu_to_le32(box->w);
+ cmd_p->box.h = cpu_to_le32(box->h);
+ cmd_p->box.d = cpu_to_le32(box->d);
cmd_p->offset = cpu_to_le64(offset);
cmd_p->level = cpu_to_le32(level);
@@ -1013,7 +1018,12 @@ void virtio_gpu_cmd_transfer_from_host_3d(struct virtio_gpu_device *vgdev,
cmd_p->hdr.type = cpu_to_le32(VIRTIO_GPU_CMD_TRANSFER_FROM_HOST_3D);
cmd_p->hdr.ctx_id = cpu_to_le32(ctx_id);
cmd_p->resource_id = cpu_to_le32(bo->hw_res_handle);
- cmd_p->box = *box;
+ cmd_p->box.x = cpu_to_le32(box->x);
+ cmd_p->box.y = cpu_to_le32(box->y);
+ cmd_p->box.z = cpu_to_le32(box->z);
+ cmd_p->box.w = cpu_to_le32(box->w);
+ cmd_p->box.h = cpu_to_le32(box->h);
+ cmd_p->box.d = cpu_to_le32(box->d);
cmd_p->offset = cpu_to_le64(offset);
cmd_p->level = cpu_to_le32(level);
Be consistent with the rest of the code base. No functional change. In theory this change is incompatible on bigendian machines, but in practice 3d acceleration is supported only on little endian machines, so the affected code paths never run on bigendian machines. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- drivers/gpu/drm/virtio/virtgpu_vq.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-)