crypto: caam - treat SGT address pointer as u64
Even for i.MX, CAAM is able to use address pointers greater than 32 bits, the address pointer field being interpreted as a double word. Enforce u64 address pointer in the sec4_sg_entry struct. This patch fixes the SGT address pointer endianness issue for 32bit platforms where core endianness != caam endianness. Signed-off-by: Tudor Ambarus <tudor-dan.ambarus@nxp.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:

committato da
Herbert Xu

parent
81422badb3
commit
f97581cfa6
@@ -15,7 +15,7 @@ struct sec4_sg_entry;
|
||||
static inline void dma_to_sec4_sg_one(struct sec4_sg_entry *sec4_sg_ptr,
|
||||
dma_addr_t dma, u32 len, u16 offset)
|
||||
{
|
||||
sec4_sg_ptr->ptr = cpu_to_caam_dma(dma);
|
||||
sec4_sg_ptr->ptr = cpu_to_caam_dma64(dma);
|
||||
sec4_sg_ptr->len = cpu_to_caam32(len);
|
||||
sec4_sg_ptr->bpid_offset = cpu_to_caam32(offset & SEC4_SG_OFFSET_MASK);
|
||||
#ifdef DEBUG
|
||||
|
Fai riferimento in un nuovo problema
Block a user