diff options
author | LEROY Christophe <christophe.leroy@c-s.fr> | 2015-04-17 10:31:55 -0400 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2015-04-20 21:14:40 -0400 |
commit | 185eb79f6a6536c2b61d2638e138ca439bd327c3 (patch) | |
tree | d90ffe8aa511bfa3909a450a1d1b1fd9c5c55ff4 /drivers/crypto | |
parent | edc6bd698a4d335db0962aac8ab07f2840786a02 (diff) |
crypto: talitos - Add a helper function to clear j_extent field
j_extent field is specific to SEC2 so we add a helper function to clear it
so that SEC1 can redefine that function as nop
Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto')
-rw-r--r-- | drivers/crypto/talitos.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/crypto/talitos.c b/drivers/crypto/talitos.c index fca0aedcbc12..c93f79b8bef8 100644 --- a/drivers/crypto/talitos.c +++ b/drivers/crypto/talitos.c | |||
@@ -61,6 +61,11 @@ static void to_talitos_ptr(struct talitos_ptr *ptr, dma_addr_t dma_addr) | |||
61 | ptr->eptr = upper_32_bits(dma_addr); | 61 | ptr->eptr = upper_32_bits(dma_addr); |
62 | } | 62 | } |
63 | 63 | ||
64 | static void to_talitos_ptr_extent_clear(struct talitos_ptr *ptr) | ||
65 | { | ||
66 | ptr->j_extent = 0; | ||
67 | } | ||
68 | |||
64 | /* | 69 | /* |
65 | * map virtual single (contiguous) pointer to h/w descriptor pointer | 70 | * map virtual single (contiguous) pointer to h/w descriptor pointer |
66 | */ | 71 | */ |
@@ -1372,7 +1377,7 @@ int map_sg_in_talitos_ptr(struct device *dev, struct scatterlist *src, | |||
1372 | int sg_count; | 1377 | int sg_count; |
1373 | 1378 | ||
1374 | ptr->len = cpu_to_be16(len); | 1379 | ptr->len = cpu_to_be16(len); |
1375 | ptr->j_extent = 0; | 1380 | to_talitos_ptr_extent_clear(ptr); |
1376 | 1381 | ||
1377 | sg_count = talitos_map_sg(dev, src, edesc->src_nents ? : 1, dir, | 1382 | sg_count = talitos_map_sg(dev, src, edesc->src_nents ? : 1, dir, |
1378 | edesc->src_chained); | 1383 | edesc->src_chained); |
@@ -1402,7 +1407,7 @@ void map_sg_out_talitos_ptr(struct device *dev, struct scatterlist *dst, | |||
1402 | struct talitos_ptr *ptr, int sg_count) | 1407 | struct talitos_ptr *ptr, int sg_count) |
1403 | { | 1408 | { |
1404 | ptr->len = cpu_to_be16(len); | 1409 | ptr->len = cpu_to_be16(len); |
1405 | ptr->j_extent = 0; | 1410 | to_talitos_ptr_extent_clear(ptr); |
1406 | 1411 | ||
1407 | if (dir != DMA_NONE) | 1412 | if (dir != DMA_NONE) |
1408 | sg_count = talitos_map_sg(dev, dst, edesc->dst_nents ? : 1, | 1413 | sg_count = talitos_map_sg(dev, dst, edesc->dst_nents ? : 1, |
@@ -1444,7 +1449,7 @@ static int common_nonsnoop(struct talitos_edesc *edesc, | |||
1444 | /* cipher iv */ | 1449 | /* cipher iv */ |
1445 | to_talitos_ptr(&desc->ptr[1], edesc->iv_dma); | 1450 | to_talitos_ptr(&desc->ptr[1], edesc->iv_dma); |
1446 | desc->ptr[1].len = cpu_to_be16(ivsize); | 1451 | desc->ptr[1].len = cpu_to_be16(ivsize); |
1447 | desc->ptr[1].j_extent = 0; | 1452 | to_talitos_ptr_extent_clear(&desc->ptr[1]); |
1448 | 1453 | ||
1449 | /* cipher key */ | 1454 | /* cipher key */ |
1450 | map_single_talitos_ptr(dev, &desc->ptr[2], ctx->keylen, | 1455 | map_single_talitos_ptr(dev, &desc->ptr[2], ctx->keylen, |