aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/crypto/ccp/ccp-dev.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/crypto/ccp/ccp-dev.h')
-rw-r--r--drivers/crypto/ccp/ccp-dev.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/crypto/ccp/ccp-dev.h b/drivers/crypto/ccp/ccp-dev.h
index 2b5c01fade05..754e9c2f6ee3 100644
--- a/drivers/crypto/ccp/ccp-dev.h
+++ b/drivers/crypto/ccp/ccp-dev.h
@@ -190,6 +190,9 @@
190#define CCP_XTS_AES_KEY_SB_COUNT 1 190#define CCP_XTS_AES_KEY_SB_COUNT 1
191#define CCP_XTS_AES_CTX_SB_COUNT 1 191#define CCP_XTS_AES_CTX_SB_COUNT 1
192 192
193#define CCP_DES3_KEY_SB_COUNT 1
194#define CCP_DES3_CTX_SB_COUNT 1
195
193#define CCP_SHA_SB_COUNT 1 196#define CCP_SHA_SB_COUNT 1
194 197
195#define CCP_RSA_MAX_WIDTH 4096 198#define CCP_RSA_MAX_WIDTH 4096
@@ -475,6 +478,12 @@ struct ccp_xts_aes_op {
475 enum ccp_xts_aes_unit_size unit_size; 478 enum ccp_xts_aes_unit_size unit_size;
476}; 479};
477 480
481struct ccp_des3_op {
482 enum ccp_des3_type type;
483 enum ccp_des3_mode mode;
484 enum ccp_des3_action action;
485};
486
478struct ccp_sha_op { 487struct ccp_sha_op {
479 enum ccp_sha_type type; 488 enum ccp_sha_type type;
480 u64 msg_bits; 489 u64 msg_bits;
@@ -512,6 +521,7 @@ struct ccp_op {
512 union { 521 union {
513 struct ccp_aes_op aes; 522 struct ccp_aes_op aes;
514 struct ccp_xts_aes_op xts; 523 struct ccp_xts_aes_op xts;
524 struct ccp_des3_op des3;
515 struct ccp_sha_op sha; 525 struct ccp_sha_op sha;
516 struct ccp_rsa_op rsa; 526 struct ccp_rsa_op rsa;
517 struct ccp_passthru_op passthru; 527 struct ccp_passthru_op passthru;
@@ -620,13 +630,13 @@ void ccp_dmaengine_unregister(struct ccp_device *ccp);
620struct ccp_actions { 630struct ccp_actions {
621 int (*aes)(struct ccp_op *); 631 int (*aes)(struct ccp_op *);
622 int (*xts_aes)(struct ccp_op *); 632 int (*xts_aes)(struct ccp_op *);
633 int (*des3)(struct ccp_op *);
623 int (*sha)(struct ccp_op *); 634 int (*sha)(struct ccp_op *);
624 int (*rsa)(struct ccp_op *); 635 int (*rsa)(struct ccp_op *);
625 int (*passthru)(struct ccp_op *); 636 int (*passthru)(struct ccp_op *);
626 int (*ecc)(struct ccp_op *); 637 int (*ecc)(struct ccp_op *);
627 u32 (*sballoc)(struct ccp_cmd_queue *, unsigned int); 638 u32 (*sballoc)(struct ccp_cmd_queue *, unsigned int);
628 void (*sbfree)(struct ccp_cmd_queue *, unsigned int, 639 void (*sbfree)(struct ccp_cmd_queue *, unsigned int, unsigned int);
629 unsigned int);
630 unsigned int (*get_free_slots)(struct ccp_cmd_queue *); 640 unsigned int (*get_free_slots)(struct ccp_cmd_queue *);
631 int (*init)(struct ccp_device *); 641 int (*init)(struct ccp_device *);
632 void (*destroy)(struct ccp_device *); 642 void (*destroy)(struct ccp_device *);