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:
parent
9dcbeb9df3
commit
fa7fdfabf0
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue