crypto: caam - set DK (Decrypt Key) bit only for AES accelerator

AES currently shares descriptor creation functions with DES and 3DES.
DK bit is set in all cases, however it is valid only for
the AES accelerator.

Signed-off-by: Horia Geanta <horia.geanta@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
Horia Geanta 2014-07-11 15:46:58 +03:00 коммит произвёл Herbert Xu
Родитель de0e35ec2b
Коммит a60384dfff
1 изменённых файлов: 7 добавлений и 0 удалений

Просмотреть файл

@ -97,6 +97,13 @@ static inline void append_dec_op1(u32 *desc, u32 type)
{ {
u32 *jump_cmd, *uncond_jump_cmd; u32 *jump_cmd, *uncond_jump_cmd;
/* DK bit is valid only for AES */
if ((type & OP_ALG_ALGSEL_MASK) != OP_ALG_ALGSEL_AES) {
append_operation(desc, type | OP_ALG_AS_INITFINAL |
OP_ALG_DECRYPT);
return;
}
jump_cmd = append_jump(desc, JUMP_TEST_ALL | JUMP_COND_SHRD); jump_cmd = append_jump(desc, JUMP_TEST_ALL | JUMP_COND_SHRD);
append_operation(desc, type | OP_ALG_AS_INITFINAL | append_operation(desc, type | OP_ALG_AS_INITFINAL |
OP_ALG_DECRYPT); OP_ALG_DECRYPT);