summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Wilczynski <m.wilczynski@samsung.com>2026-10-29 09:17:18 +0100
committerAlessio Belle <alessio.belle@imgtec.com>2026-10-30 08:34:25 +0000
commit6c6200ffebf9766fd5d9293002298ea371c261c1 (patch)
treebe94256167ef60ff7cd9ebd641e783cd8fa50b9f
parent6ce0c151d52f6741b6c04569e1886bc7837faa5d (diff)
downloadlinux-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.h2
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);
/*
******************************************************************************