]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/panthor: Add missing explicit padding in drm_panthor_gpu_info
authorBoris Brezillon <boris.brezillon@collabora.com>
Fri, 6 Jun 2025 08:09:31 +0000 (10:09 +0200)
committerBoris Brezillon <boris.brezillon@collabora.com>
Fri, 6 Jun 2025 09:36:08 +0000 (11:36 +0200)
drm_panthor_gpu_info::shader_present is currently automatically offset
by 4 byte to meet Arm's 32-bit/64-bit field alignment rules, but those
constraints don't stand on 32-bit x86 and cause a mismatch when running
an x86 binary in a user emulated environment like FEX. It's also
generally agreed that uAPIs should explicitly pad their struct fields,
which we originally intended to do, but a mistake slipped through during
the submission process, leading drm_panthor_gpu_info::shader_present to
be misaligned.

This uAPI change doesn't break any of the existing users of panthor
which are either arm32 or arm64 where the 64-bit alignment of
u64 fields is already enforced a the compiler level.

Changes in v2:
- Rename the garbage field into pad0 and adjust the comment accordingly
- Add Liviu's A-b

Changes in v3:
- Add R-bs

Fixes: 0f25e493a246 ("drm/panthor: Add uAPI")
Acked-by: Liviu Dudau <liviu.dudau@arm.com>
Reviewed-by: Adrián Larumbe <adrian.larumbe@collabora.com>
Reviewed-by: Steven Price <steven.price@arm.com>
Link: https://lore.kernel.org/r/20250606080932.4140010-2-boris.brezillon@collabora.com
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
include/uapi/drm/panthor_drm.h

index ad9a70afea6c270e0d5c2c3f8e6433ab3dc57e2a..3a76c4f2882b66ff155442e501b3c4317f6cf8ad 100644 (file)
@@ -296,6 +296,9 @@ struct drm_panthor_gpu_info {
        /** @as_present: Bitmask encoding the number of address-space exposed by the MMU. */
        __u32 as_present;
 
+       /** @pad0: MBZ. */
+       __u32 pad0;
+
        /** @shader_present: Bitmask encoding the shader cores exposed by the GPU. */
        __u64 shader_present;