]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/crypto/omap-aes.h
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
[linux.git] / drivers / crypto / omap-aes.h
index 2d3575231e31c5b39a92bf0a8a006a6a50aba057..2d111bf906e1dd18e8f7b39b40663f80b9a05497 100644 (file)
@@ -9,6 +9,7 @@
 #ifndef __OMAP_AES_H__
 #define __OMAP_AES_H__
 
+#include <crypto/aes.h>
 #include <crypto/engine.h>
 
 #define DST_MAXBURST                   4
@@ -79,7 +80,6 @@
 
 #define FLAGS_INIT             BIT(5)
 #define FLAGS_FAST             BIT(6)
-#define FLAGS_BUSY             BIT(7)
 
 #define FLAGS_IN_DATA_ST_SHIFT 8
 #define FLAGS_OUT_DATA_ST_SHIFT        10
@@ -98,7 +98,11 @@ struct omap_aes_ctx {
        u32             key[AES_KEYSIZE_256 / sizeof(u32)];
        u8              nonce[4];
        struct crypto_sync_skcipher     *fallback;
-       struct crypto_skcipher  *ctr;
+};
+
+struct omap_aes_gcm_ctx {
+       struct omap_aes_ctx     octx;
+       struct crypto_aes_ctx   actx;
 };
 
 struct omap_aes_reqctx {
@@ -202,8 +206,12 @@ int omap_aes_4106gcm_setkey(struct crypto_aead *tfm, const u8 *key,
                            unsigned int keylen);
 int omap_aes_gcm_encrypt(struct aead_request *req);
 int omap_aes_gcm_decrypt(struct aead_request *req);
+int omap_aes_gcm_setauthsize(struct crypto_aead *tfm, unsigned int authsize);
 int omap_aes_4106gcm_encrypt(struct aead_request *req);
 int omap_aes_4106gcm_decrypt(struct aead_request *req);
+int omap_aes_4106gcm_setauthsize(struct crypto_aead *parent,
+                                unsigned int authsize);
+int omap_aes_gcm_cra_init(struct crypto_aead *tfm);
 int omap_aes_write_ctrl(struct omap_aes_dev *dd);
 int omap_aes_crypt_dma_start(struct omap_aes_dev *dd);
 int omap_aes_crypt_dma_stop(struct omap_aes_dev *dd);