ctucanfd: increase rwcnt bitfield width and fix structure alignment

The rwcnt (read word count) field in ctucanfd_frame_fmt_s was previously
limited to 4 bits, allowing a maximum value of 15. This is insufficient
to correctly represent the frame size (excluding the FRAME_FORMAT word)
for larger CAN FD frames as required by the CTU CAN FD hardware.

Increase the rwcnt bitfield width to support a larger range and adjust
the structure layout so that ctucanfd_frame_fmt_s has a size that is a
multiple of 4 bytes, as required by the hardware interface.

This change improves correctness and robustness when handling larger
CAN FD frames without affecting existing users.

Signed-off-by: xucheng5 <xucheng5@xiaomi.com>
This commit is contained in:
xucheng5
2025-07-15 21:55:56 +08:00
committed by Mateusz Szafoni
parent 2f3eb6d677
commit 724ad008ab
+1 -1
View File
@@ -208,7 +208,7 @@ begin_packed_struct struct ctucanfd_frame_fmt_s
uint32_t lbpf:1; /* Loop-back frame */
uint32_t brs:1; /* Bit rate shift */
uint32_t esi_rsv:1; /* Error state indicator */
uint32_t rwcnt:4; /* Size without FRAME_FORMAT WORD */
uint32_t rwcnt:5; /* Size without FRAME_FORMAT WORD */
uint32_t erf_pos:4; /* Error frame position */
uint32_t erf_erp:1; /* Error passive state */
uint32_t erf_type:3; /* Error frame type */