diff options
| author | Michal Wilczynski <m.wilczynski@samsung.com> | 2026-10-29 09:17:18 +0100 |
|---|---|---|
| committer | Alessio Belle <alessio.belle@imgtec.com> | 2026-10-30 08:34:25 +0000 |
| commit | 6c6200ffebf9766fd5d9293002298ea371c261c1 (patch) | |
| tree | be94256167ef60ff7cd9ebd641e783cd8fa50b9f | |
| parent | 6ce0c151d52f6741b6c04569e1886bc7837faa5d (diff) | |
| download | linux-next-6c6200ffebf9766fd5d9293002298ea371c261c1.tar.gz linux-next-6c6200ffebf9766fd5d9293002298ea371c261c1.zip | |
drm/imagination: Align rogue_fwif_hwrtdata to 64 bytes
Sparse (W=1) builds fail because `SIZE_CHECK(struct rogue_fwif_hwrtdata,
384)` expects 384 bytes, but the compiler generates a 336-byte
structure.
This is due to an alignment conflict: the inner member `cleanup_state`
requires 64-byte alignment, but the outer struct is explicitly marked
`__aligned(8)`.
While a non-sparse build implicitly pads the size to a multiple of 64, a
sparse build strictly respects the 8-byte outer alignment, resulting in
a size mismatch.
Fix this by aligning the entire structure to 64 bytes, which resolves
the contradiction and forces the correct 384 byte size on all builds.
Fixes: a26f067feac1 ("drm/imagination: Add FWIF headers")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202512131851.1WNXk3BC-lkp@intel.com/
Reviewed-by: Matt Coster <matt.coster@imgtec.com>
Reviewed-by: Luigi Santivetti <luigi.santivetti@imgtec.com>
Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
Link: https://patch.msgid.link/20261029-fix_imagination-v4-1-689745dd52ef@samsung.com
Signed-off-by: Alessio Belle <alessio.belle@imgtec.com>
| -rw-r--r-- | drivers/gpu/drm/imagination/pvr_rogue_fwif.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/imagination/pvr_rogue_fwif.h b/drivers/gpu/drm/imagination/pvr_rogue_fwif.h index 5d590c4c2566..2f8daa93c9e6 100644 --- a/drivers/gpu/drm/imagination/pvr_rogue_fwif.h +++ b/drivers/gpu/drm/imagination/pvr_rogue_fwif.h @@ -2174,7 +2174,7 @@ struct rogue_fwif_hwrtdata { bool geom_caches_need_zeroing __aligned(4); struct rogue_fwif_cleanup_ctl cleanup_state __aligned(64); -} __aligned(8); +} __aligned(64); /* ****************************************************************************** |
