aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/crypto
diff options
context:
space:
mode:
authorLEROY Christophe <christophe.leroy@c-s.fr>2015-04-17 10:31:55 -0400
committerHerbert Xu <herbert@gondor.apana.org.au>2015-04-20 21:14:40 -0400
commit185eb79f6a6536c2b61d2638e138ca439bd327c3 (patch)
treed90ffe8aa511bfa3909a450a1d1b1fd9c5c55ff4 /drivers/crypto
parentedc6bd698a4d335db0962aac8ab07f2840786a02 (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.c11
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
64static 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,