diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-21 16:20:43 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-21 16:20:43 -0400 |
commit | b8716614a7cc2fc15ea2a518edd04755fb08d922 (patch) | |
tree | 2a8a5d04066b2bd589ba2ebbeb228e2a6a178ec9 /include | |
parent | 31f6765266417c0d99f0e922fe82848a7c9c2ae9 (diff) | |
parent | 2dc9b5dbdef09840de852a4f0cc6a9c9eece7220 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Pull crypto update from Herbert Xu:
"* sha512 bug fixes (already in your tree).
* SHA224/SHA384 AEAD support in caam.
* X86-64 optimised version of Camellia.
* Tegra AES support.
* Bulk algorithm registration interface to make driver registration easier.
* padata race fixes.
* Misc fixes."
* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (31 commits)
padata: Fix race on sequence number wrap
padata: Fix race in the serialization path
crypto: camellia - add assembler implementation for x86_64
crypto: camellia - rename camellia.c to camellia_generic.c
crypto: camellia - fix checkpatch warnings
crypto: camellia - rename camellia module to camellia_generic
crypto: tcrypt - add more camellia tests
crypto: testmgr - add more camellia test vectors
crypto: camellia - simplify key setup and CAMELLIA_ROUNDSM macro
crypto: twofish-x86_64/i586 - set alignmask to zero
crypto: blowfish-x86_64 - set alignmask to zero
crypto: serpent-sse2 - combine ablk_*_init functions
crypto: blowfish-x86_64 - use crypto_[un]register_algs
crypto: twofish-x86_64-3way - use crypto_[un]register_algs
crypto: serpent-sse2 - use crypto_[un]register_algs
crypto: serpent-sse2 - remove dead code from serpent_sse2_glue.c::serpent_sse2_init()
crypto: twofish-x86 - Remove dead code from twofish_glue_3way.c::init()
crypto: In crypto_add_alg(), 'exact' wants to be initialized to 0
crypto: caam - fix gcc 4.6 warning
crypto: Add bulk algorithm registration interface
...
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/crypto.h | 7 | ||||
-rw-r--r-- | include/linux/padata.h | 6 |
2 files changed, 9 insertions, 4 deletions
diff --git a/include/linux/crypto.h b/include/linux/crypto.h index 8a94217b298e..48ce5479386c 100644 --- a/include/linux/crypto.h +++ b/include/linux/crypto.h | |||
@@ -75,6 +75,11 @@ | |||
75 | */ | 75 | */ |
76 | #define CRYPTO_ALG_INSTANCE 0x00000800 | 76 | #define CRYPTO_ALG_INSTANCE 0x00000800 |
77 | 77 | ||
78 | /* Set this bit if the algorithm provided is hardware accelerated but | ||
79 | * not available to userspace via instruction set or so. | ||
80 | */ | ||
81 | #define CRYPTO_ALG_KERN_DRIVER_ONLY 0x00001000 | ||
82 | |||
78 | /* | 83 | /* |
79 | * Transform masks and values (for crt_flags). | 84 | * Transform masks and values (for crt_flags). |
80 | */ | 85 | */ |
@@ -309,6 +314,8 @@ struct crypto_alg { | |||
309 | */ | 314 | */ |
310 | int crypto_register_alg(struct crypto_alg *alg); | 315 | int crypto_register_alg(struct crypto_alg *alg); |
311 | int crypto_unregister_alg(struct crypto_alg *alg); | 316 | int crypto_unregister_alg(struct crypto_alg *alg); |
317 | int crypto_register_algs(struct crypto_alg *algs, int count); | ||
318 | int crypto_unregister_algs(struct crypto_alg *algs, int count); | ||
312 | 319 | ||
313 | /* | 320 | /* |
314 | * Algorithm query interface. | 321 | * Algorithm query interface. |
diff --git a/include/linux/padata.h b/include/linux/padata.h index 4633b2f726b6..86292beebfe2 100644 --- a/include/linux/padata.h +++ b/include/linux/padata.h | |||
@@ -46,7 +46,6 @@ struct padata_priv { | |||
46 | struct list_head list; | 46 | struct list_head list; |
47 | struct parallel_data *pd; | 47 | struct parallel_data *pd; |
48 | int cb_cpu; | 48 | int cb_cpu; |
49 | int seq_nr; | ||
50 | int info; | 49 | int info; |
51 | void (*parallel)(struct padata_priv *padata); | 50 | void (*parallel)(struct padata_priv *padata); |
52 | void (*serial)(struct padata_priv *padata); | 51 | void (*serial)(struct padata_priv *padata); |
@@ -116,7 +115,6 @@ struct padata_cpumask { | |||
116 | * @pinst: padata instance. | 115 | * @pinst: padata instance. |
117 | * @pqueue: percpu padata queues used for parallelization. | 116 | * @pqueue: percpu padata queues used for parallelization. |
118 | * @squeue: percpu padata queues used for serialuzation. | 117 | * @squeue: percpu padata queues used for serialuzation. |
119 | * @seq_nr: The sequence number that will be attached to the next object. | ||
120 | * @reorder_objects: Number of objects waiting in the reorder queues. | 118 | * @reorder_objects: Number of objects waiting in the reorder queues. |
121 | * @refcnt: Number of objects holding a reference on this parallel_data. | 119 | * @refcnt: Number of objects holding a reference on this parallel_data. |
122 | * @max_seq_nr: Maximal used sequence number. | 120 | * @max_seq_nr: Maximal used sequence number. |
@@ -129,12 +127,12 @@ struct parallel_data { | |||
129 | struct padata_instance *pinst; | 127 | struct padata_instance *pinst; |
130 | struct padata_parallel_queue __percpu *pqueue; | 128 | struct padata_parallel_queue __percpu *pqueue; |
131 | struct padata_serial_queue __percpu *squeue; | 129 | struct padata_serial_queue __percpu *squeue; |
132 | atomic_t seq_nr; | ||
133 | atomic_t reorder_objects; | 130 | atomic_t reorder_objects; |
134 | atomic_t refcnt; | 131 | atomic_t refcnt; |
135 | unsigned int max_seq_nr; | ||
136 | struct padata_cpumask cpumask; | 132 | struct padata_cpumask cpumask; |
137 | spinlock_t lock ____cacheline_aligned; | 133 | spinlock_t lock ____cacheline_aligned; |
134 | spinlock_t seq_lock; | ||
135 | unsigned int seq_nr; | ||
138 | unsigned int processed; | 136 | unsigned int processed; |
139 | struct timer_list timer; | 137 | struct timer_list timer; |
140 | }; | 138 | }; |