Commit 226853ac authored by Horia Geantă's avatar Horia Geantă Committed by Herbert Xu

crypto: caam/qi2 - add skcipher algorithms

Add support to submit the following skcipher algorithms
via the DPSECI backend:
cbc({aes,des,des3_ede})
ctr(aes), rfc3686(ctr(aes))
xts(aes)
Signed-off-by: default avatarHoria Geantă <horia.geanta@nxp.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 8d818c10
...@@ -157,6 +157,7 @@ config CRYPTO_DEV_FSL_DPAA2_CAAM ...@@ -157,6 +157,7 @@ config CRYPTO_DEV_FSL_DPAA2_CAAM
tristate "QorIQ DPAA2 CAAM (DPSECI) driver" tristate "QorIQ DPAA2 CAAM (DPSECI) driver"
depends on FSL_MC_DPIO depends on FSL_MC_DPIO
select CRYPTO_DEV_FSL_CAAM_COMMON select CRYPTO_DEV_FSL_CAAM_COMMON
select CRYPTO_BLKCIPHER
select CRYPTO_AUTHENC select CRYPTO_AUTHENC
select CRYPTO_AEAD select CRYPTO_AEAD
help help
......
This diff is collapsed.
...@@ -140,6 +140,24 @@ struct aead_edesc { ...@@ -140,6 +140,24 @@ struct aead_edesc {
struct dpaa2_sg_entry sgt[0]; struct dpaa2_sg_entry sgt[0];
}; };
/*
* skcipher_edesc - s/w-extended skcipher descriptor
* @src_nents: number of segments in input scatterlist
* @dst_nents: number of segments in output scatterlist
* @iv_dma: dma address of iv for checking continuity and link table
* @qm_sg_bytes: length of dma mapped qm_sg space
* @qm_sg_dma: I/O virtual address of h/w link table
* @sgt: the h/w link table, followed by IV
*/
struct skcipher_edesc {
int src_nents;
int dst_nents;
dma_addr_t iv_dma;
int qm_sg_bytes;
dma_addr_t qm_sg_dma;
struct dpaa2_sg_entry sgt[0];
};
/** /**
* caam_flc - Flow Context (FLC) * caam_flc - Flow Context (FLC)
* @flc: Flow Context options * @flc: Flow Context options
...@@ -167,7 +185,7 @@ enum optype { ...@@ -167,7 +185,7 @@ enum optype {
* @flc_dma: I/O virtual address of Flow Context * @flc_dma: I/O virtual address of Flow Context
* @cbk: Callback function to invoke when job is completed * @cbk: Callback function to invoke when job is completed
* @ctx: arbit context attached with request by the application * @ctx: arbit context attached with request by the application
* @edesc: extended descriptor; points to aead_edesc * @edesc: extended descriptor; points to one of {skcipher,aead}_edesc
*/ */
struct caam_request { struct caam_request {
struct dpaa2_fl_entry fd_flt[2]; struct dpaa2_fl_entry fd_flt[2];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment