summaryrefslogtreecommitdiff
path: root/drivers/crypto/caam/caamalg_qi2.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/crypto/caam/caamalg_qi2.h')
-rw-r--r--drivers/crypto/caam/caamalg_qi2.h20
1 files changed, 18 insertions, 2 deletions
diff --git a/drivers/crypto/caam/caamalg_qi2.h b/drivers/crypto/caam/caamalg_qi2.h
index 2ba179d..87ef74a 100644
--- a/drivers/crypto/caam/caamalg_qi2.h
+++ b/drivers/crypto/caam/caamalg_qi2.h
@@ -213,16 +213,30 @@ struct ablkcipher_edesc {
struct dpaa2_sg_entry sgt[0];
};
+/*
+ * ahash_edesc - s/w-extended ahash descriptor
+ * @dst_dma: I/O virtual address of req->result
+ * @qm_sg_dma: I/O virtual address of h/w link table
+ * @src_nents: number of segments in input scatterlist
+ * @qm_sg_bytes: length of dma mapped qm_sg space
+ * @sgt: pointer to h/w link table
+ */
+struct ahash_edesc {
+ dma_addr_t dst_dma;
+ dma_addr_t qm_sg_dma;
+ int src_nents;
+ int qm_sg_bytes;
+ struct dpaa2_sg_entry sgt[0];
+};
+
/**
* caam_flc - Flow Context (FLC)
* @flc: Flow Context options
* @sh_desc: Shared Descriptor
- * @flc_dma: DMA address of the Flow Context
*/
struct caam_flc {
u32 flc[16];
u32 sh_desc[MAX_SDLEN];
- dma_addr_t flc_dma;
} ____cacheline_aligned;
enum optype {
@@ -240,6 +254,7 @@ enum optype {
* fd_flt[1] - FLE pointing to input buffer
* @fd_flt_dma: DMA address for the frame list table
* @flc: Flow Context
+ * @flc_dma: I/O virtual address of Flow Context
* @op_type: operation type
* @cbk: Callback function to invoke when job is completed
* @ctx: arbit context attached with request by the application
@@ -249,6 +264,7 @@ struct caam_request {
struct dpaa2_fl_entry fd_flt[2];
dma_addr_t fd_flt_dma;
struct caam_flc *flc;
+ dma_addr_t flc_dma;
enum optype op_type;
void (*cbk)(void *ctx, u32 err);
void *ctx;