From 173dceaed68eef074b77278bd92e6fdb4e09606d Mon Sep 17 00:00:00 2001 From: Alessio Belle Date: Wed, 29 Jul 2026 15:57:07 +0100 Subject: [PATCH] drm/imagination: Reuse layout check macros for MIPS FW structures Replace static asserts on MIPS firmware structures offsets and sizes with more compact macros that are already used for similar checks on common firmware interface structures. Reviewed-by: Brajesh Gupta Link: https://patch.msgid.link/20260729-fwif-checks-updates-v1-2-af65e9606a7e@imgtec.com Signed-off-by: Alessio Belle --- .../drm/imagination/pvr_rogue_mips_check.h | 71 +++++++------------ 1 file changed, 24 insertions(+), 47 deletions(-) diff --git a/drivers/gpu/drm/imagination/pvr_rogue_mips_check.h b/drivers/gpu/drm/imagination/pvr_rogue_mips_check.h index 824b4bf33ac1..aebf231ce90f 100644 --- a/drivers/gpu/drm/imagination/pvr_rogue_mips_check.h +++ b/drivers/gpu/drm/imagination/pvr_rogue_mips_check.h @@ -4,55 +4,32 @@ #ifndef PVR_ROGUE_MIPS_CHECK_H #define PVR_ROGUE_MIPS_CHECK_H -#include +#include "pvr_check.h" -static_assert(offsetof(struct rogue_mips_tlb_entry, tlb_page_mask) == 0, - "offsetof(struct rogue_mips_tlb_entry, tlb_page_mask) incorrect"); -static_assert(offsetof(struct rogue_mips_tlb_entry, tlb_hi) == 4, - "offsetof(struct rogue_mips_tlb_entry, tlb_hi) incorrect"); -static_assert(offsetof(struct rogue_mips_tlb_entry, tlb_lo0) == 8, - "offsetof(struct rogue_mips_tlb_entry, tlb_lo0) incorrect"); -static_assert(offsetof(struct rogue_mips_tlb_entry, tlb_lo1) == 12, - "offsetof(struct rogue_mips_tlb_entry, tlb_lo1) incorrect"); -static_assert(sizeof(struct rogue_mips_tlb_entry) == 16, - "struct rogue_mips_tlb_entry is incorrect size"); +OFFSET_CHECK(struct rogue_mips_tlb_entry, tlb_page_mask, 0); +OFFSET_CHECK(struct rogue_mips_tlb_entry, tlb_hi, 4); +OFFSET_CHECK(struct rogue_mips_tlb_entry, tlb_lo0, 8); +OFFSET_CHECK(struct rogue_mips_tlb_entry, tlb_lo1, 12); +SIZE_CHECK(struct rogue_mips_tlb_entry, 16); -static_assert(offsetof(struct rogue_mips_remap_entry, remap_addr_in) == 0, - "offsetof(struct rogue_mips_remap_entry, remap_addr_in) incorrect"); -static_assert(offsetof(struct rogue_mips_remap_entry, remap_addr_out) == 4, - "offsetof(struct rogue_mips_remap_entry, remap_addr_out) incorrect"); -static_assert(offsetof(struct rogue_mips_remap_entry, remap_region_size) == 8, - "offsetof(struct rogue_mips_remap_entry, remap_region_size) incorrect"); -static_assert(sizeof(struct rogue_mips_remap_entry) == 12, - "struct rogue_mips_remap_entry is incorrect size"); +OFFSET_CHECK(struct rogue_mips_remap_entry, remap_addr_in, 0); +OFFSET_CHECK(struct rogue_mips_remap_entry, remap_addr_out, 4); +OFFSET_CHECK(struct rogue_mips_remap_entry, remap_region_size, 8); +SIZE_CHECK(struct rogue_mips_remap_entry, 12); -static_assert(offsetof(struct rogue_mips_state, error_state) == 0, - "offsetof(struct rogue_mips_state, error_state) incorrect"); -static_assert(offsetof(struct rogue_mips_state, error_epc) == 4, - "offsetof(struct rogue_mips_state, error_epc) incorrect"); -static_assert(offsetof(struct rogue_mips_state, status_register) == 8, - "offsetof(struct rogue_mips_state, status_register) incorrect"); -static_assert(offsetof(struct rogue_mips_state, cause_register) == 12, - "offsetof(struct rogue_mips_state, cause_register) incorrect"); -static_assert(offsetof(struct rogue_mips_state, bad_register) == 16, - "offsetof(struct rogue_mips_state, bad_register) incorrect"); -static_assert(offsetof(struct rogue_mips_state, epc) == 20, - "offsetof(struct rogue_mips_state, epc) incorrect"); -static_assert(offsetof(struct rogue_mips_state, sp) == 24, - "offsetof(struct rogue_mips_state, sp) incorrect"); -static_assert(offsetof(struct rogue_mips_state, debug) == 28, - "offsetof(struct rogue_mips_state, debug) incorrect"); -static_assert(offsetof(struct rogue_mips_state, depc) == 32, - "offsetof(struct rogue_mips_state, depc) incorrect"); -static_assert(offsetof(struct rogue_mips_state, bad_instr) == 36, - "offsetof(struct rogue_mips_state, bad_instr) incorrect"); -static_assert(offsetof(struct rogue_mips_state, unmapped_address) == 40, - "offsetof(struct rogue_mips_state, unmapped_address) incorrect"); -static_assert(offsetof(struct rogue_mips_state, tlb) == 44, - "offsetof(struct rogue_mips_state, tlb) incorrect"); -static_assert(offsetof(struct rogue_mips_state, remap) == 300, - "offsetof(struct rogue_mips_state, remap) incorrect"); -static_assert(sizeof(struct rogue_mips_state) == 684, - "struct rogue_mips_state is incorrect size"); +OFFSET_CHECK(struct rogue_mips_state, error_state, 0); +OFFSET_CHECK(struct rogue_mips_state, error_epc, 4); +OFFSET_CHECK(struct rogue_mips_state, status_register, 8); +OFFSET_CHECK(struct rogue_mips_state, cause_register, 12); +OFFSET_CHECK(struct rogue_mips_state, bad_register, 16); +OFFSET_CHECK(struct rogue_mips_state, epc, 20); +OFFSET_CHECK(struct rogue_mips_state, sp, 24); +OFFSET_CHECK(struct rogue_mips_state, debug, 28); +OFFSET_CHECK(struct rogue_mips_state, depc, 32); +OFFSET_CHECK(struct rogue_mips_state, bad_instr, 36); +OFFSET_CHECK(struct rogue_mips_state, unmapped_address, 40); +OFFSET_CHECK(struct rogue_mips_state, tlb, 44); +OFFSET_CHECK(struct rogue_mips_state, remap, 300); +SIZE_CHECK(struct rogue_mips_state, 684); #endif /* PVR_ROGUE_MIPS_CHECK_H */