crypto: caam - Modify Freescale CAAM driver Scatter Gather entry definition
Modify the Scatter-Gather entry definitions for the Freescale CAAM driver to include support for both 64- and 32-bit DMA pointers. Signed-off-by: Victoria Milhoan <vicki.milhoan@freescale.com> Tested-by: Horia Geantă <horia.geanta@freescale.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:

committed by
Herbert Xu

parent
24821c4652
commit
1f06ec1d48
@@ -8,12 +8,29 @@
|
|||||||
#ifndef DESC_H
|
#ifndef DESC_H
|
||||||
#define DESC_H
|
#define DESC_H
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 16-byte hardware scatter/gather table
|
||||||
|
* An 8-byte table exists in the hardware spec, but has never been
|
||||||
|
* implemented to date. The 8/16 option is selected at RTL-compile-time.
|
||||||
|
* and this selection is visible in the Compile Time Parameters Register
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define SEC4_SG_LEN_EXT 0x80000000 /* Entry points to table */
|
||||||
|
#define SEC4_SG_LEN_FIN 0x40000000 /* Last ent in table */
|
||||||
|
#define SEC4_SG_BPID_MASK 0x000000ff
|
||||||
|
#define SEC4_SG_BPID_SHIFT 16
|
||||||
|
#define SEC4_SG_LEN_MASK 0x3fffffff /* Excludes EXT and FINAL */
|
||||||
|
#define SEC4_SG_OFFS_MASK 0x00001fff
|
||||||
|
|
||||||
struct sec4_sg_entry {
|
struct sec4_sg_entry {
|
||||||
u64 ptr;
|
#ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT
|
||||||
#define SEC4_SG_LEN_FIN 0x40000000
|
dma_addr_t ptr;
|
||||||
#define SEC4_SG_LEN_EXT 0x80000000
|
#else
|
||||||
|
u32 rsvd1;
|
||||||
|
dma_addr_t ptr;
|
||||||
|
#endif
|
||||||
u32 len;
|
u32 len;
|
||||||
u8 reserved;
|
u8 rsvd2;
|
||||||
u8 buf_pool_id;
|
u8 buf_pool_id;
|
||||||
u16 offset;
|
u16 offset;
|
||||||
};
|
};
|
||||||
|
@@ -15,7 +15,6 @@ static inline void dma_to_sec4_sg_one(struct sec4_sg_entry *sec4_sg_ptr,
|
|||||||
{
|
{
|
||||||
sec4_sg_ptr->ptr = dma;
|
sec4_sg_ptr->ptr = dma;
|
||||||
sec4_sg_ptr->len = len;
|
sec4_sg_ptr->len = len;
|
||||||
sec4_sg_ptr->reserved = 0;
|
|
||||||
sec4_sg_ptr->buf_pool_id = 0;
|
sec4_sg_ptr->buf_pool_id = 0;
|
||||||
sec4_sg_ptr->offset = offset;
|
sec4_sg_ptr->offset = offset;
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
|
Reference in New Issue
Block a user