summaryrefslogtreecommitdiffstats
path: root/drivers/crypto/img-hash.c
diff options
context:
space:
mode:
authorWill Thomas2016-08-05 15:00:16 +0200
committerHerbert Xu2016-08-09 12:47:20 +0200
commit302a1bee8fd71b01bcf4ca8395c115a60cef52bf (patch)
treefdfff239871aee1b3a31524ef1170b4e11d02b57 /drivers/crypto/img-hash.c
parentcrypto: img-hash - Fix hash request context (diff)
downloadkernel-qcow2-linux-302a1bee8fd71b01bcf4ca8395c115a60cef52bf.tar.gz
kernel-qcow2-linux-302a1bee8fd71b01bcf4ca8395c115a60cef52bf.tar.xz
kernel-qcow2-linux-302a1bee8fd71b01bcf4ca8395c115a60cef52bf.zip
crypto: img-hash - Reconfigure DMA Burst length
Burst length of 16 drives the hash accelerator out of spec and causes stability issues in some cases. Reduce this to stop data being lost. Signed-off-by: Will Thomas <will.thomas@imgtec.com> Reviewed-by: James Hartley <james.hartley@imgtec.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto/img-hash.c')
-rw-r--r--drivers/crypto/img-hash.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/crypto/img-hash.c b/drivers/crypto/img-hash.c
index de2b86efbfe4..f8abbe3bc51c 100644
--- a/drivers/crypto/img-hash.c
+++ b/drivers/crypto/img-hash.c
@@ -71,6 +71,7 @@
#define DRIVER_FLAGS_MD5 BIT(21)
#define IMG_HASH_QUEUE_LENGTH 20
+#define IMG_HASH_DMA_BURST 4
#define IMG_HASH_DMA_THRESHOLD 64
#ifdef __LITTLE_ENDIAN
@@ -342,7 +343,7 @@ static int img_hash_dma_init(struct img_hash_dev *hdev)
dma_conf.direction = DMA_MEM_TO_DEV;
dma_conf.dst_addr = hdev->bus_addr;
dma_conf.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
- dma_conf.dst_maxburst = 16;
+ dma_conf.dst_maxburst = IMG_HASH_DMA_BURST;
dma_conf.device_fc = false;
err = dmaengine_slave_config(hdev->dma_lch, &dma_conf);