summaryrefslogtreecommitdiffstats
path: root/drivers/crypto/padlock.h
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2005-07-06 13:52:27 -0700
committerDavid S. Miller <davem@davemloft.net>2005-07-06 13:52:27 -0700
commit6789b2dc455b90efc9c88886c9366adc9abb7347 (patch)
treea962565f31b2c8c0cb112b2ce482cceb3d16caef /drivers/crypto/padlock.h
parent95477377995aefa2ec1654a9a3777bd57ea99146 (diff)
downloadlinux-6789b2dc455b90efc9c88886c9366adc9abb7347.tar.gz
linux-6789b2dc455b90efc9c88886c9366adc9abb7347.tar.bz2
linux-6789b2dc455b90efc9c88886c9366adc9abb7347.zip
[PADLOCK] Move fast path work into aes_set_key and upper layer
Most of the work done aes_padlock can be done in aes_set_key. This means that we only have to do it once when the key changes rather than every time we perform an encryption or decryption. This patch also sets cra_alignmask to let the upper layer ensure that the buffers fed to us are aligned correctly. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/crypto/padlock.h')
-rw-r--r--drivers/crypto/padlock.h22
1 files changed, 11 insertions, 11 deletions
diff --git a/drivers/crypto/padlock.h b/drivers/crypto/padlock.h
index 7a500605e449..3cf2b7a12348 100644
--- a/drivers/crypto/padlock.h
+++ b/drivers/crypto/padlock.h
@@ -13,18 +13,18 @@
#ifndef _CRYPTO_PADLOCK_H
#define _CRYPTO_PADLOCK_H
+#define PADLOCK_ALIGNMENT 16
+
/* Control word. */
-union cword {
- uint32_t cword[4];
- struct {
- int rounds:4;
- int algo:3;
- int keygen:1;
- int interm:1;
- int encdec:1;
- int ksize:2;
- } b;
-};
+struct cword {
+ int __attribute__ ((__packed__))
+ rounds:4,
+ algo:3,
+ keygen:1,
+ interm:1,
+ encdec:1,
+ ksize:2;
+} __attribute__ ((__aligned__(PADLOCK_ALIGNMENT)));
#define PFX "padlock: "