fix(nxp-crypto): refine code to avoid hang issue for some of toolchain

bitfield structure maybe has strict-aliasing issue for some compiler,
for example the old code has hang issue for yocto 3.4 toolchain, so
refine the code to avoid to use bitfield structure.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Change-Id: I6b6d7597311240dd6d6b8ca4ce508c69332f9c68
This commit is contained in:
Jiafei Pan 2021-11-18 15:49:19 +08:00
parent 9dcbeb9df3
commit fa7fdfabf0
2 changed files with 3 additions and 6 deletions

View File

@ -60,8 +60,8 @@ void desc_add_ptr(uint32_t *desc, phys_addr_t *ptr)
#ifdef CONFIG_PHYS_64BIT
ptr_addr_t *ptr_addr = (ptr_addr_t *) last;
ptr_addr->m_halves.high = PHYS_ADDR_HI(ptr);
ptr_addr->m_halves.low = PHYS_ADDR_LO(ptr);
ptr_addr->high = PHYS_ADDR_HI(ptr);
ptr_addr->low = PHYS_ADDR_LO(ptr);
#else
*last = ptr;
#endif

View File

@ -187,9 +187,7 @@ struct jobring_regs {
((value) & JRINT_JRE)
/* Macros for manipulating JR registers */
typedef union {
uint64_t m_whole;
struct {
typedef struct {
#ifdef NXP_SEC_BE
uint32_t high;
uint32_t low;
@ -197,7 +195,6 @@ typedef union {
uint32_t low;
uint32_t high;
#endif
} m_halves;
} ptr_addr_t;
#if defined(CONFIG_PHYS_64BIT)