Commit a68d2595 authored by Kim Phillips's avatar Kim Phillips Committed by Herbert Xu

crypto: caam - fix input job ring element dma mapping size

SEC4 h/w gets configured in 32- vs. 36-bit physical
addressing modes depending on the size of dma_addr_t,
which is not always equal to sizeof(u32 *).

Also fixed alignment of a dma_unmap call whilst in there.
Signed-off-by: default avatarKim Phillips <kim.phillips@freescale.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 70d793cc
...@@ -376,7 +376,7 @@ static int caam_jr_init(struct device *dev) ...@@ -376,7 +376,7 @@ static int caam_jr_init(struct device *dev)
/* Setup rings */ /* Setup rings */
inpbusaddr = dma_map_single(dev, jrp->inpring, inpbusaddr = dma_map_single(dev, jrp->inpring,
sizeof(u32 *) * JOBR_DEPTH, sizeof(dma_addr_t) * JOBR_DEPTH,
DMA_BIDIRECTIONAL); DMA_BIDIRECTIONAL);
if (dma_mapping_error(dev, inpbusaddr)) { if (dma_mapping_error(dev, inpbusaddr)) {
dev_err(dev, "caam_jr_init(): can't map input ring\n"); dev_err(dev, "caam_jr_init(): can't map input ring\n");
...@@ -391,9 +391,9 @@ static int caam_jr_init(struct device *dev) ...@@ -391,9 +391,9 @@ static int caam_jr_init(struct device *dev)
DMA_BIDIRECTIONAL); DMA_BIDIRECTIONAL);
if (dma_mapping_error(dev, outbusaddr)) { if (dma_mapping_error(dev, outbusaddr)) {
dev_err(dev, "caam_jr_init(): can't map output ring\n"); dev_err(dev, "caam_jr_init(): can't map output ring\n");
dma_unmap_single(dev, inpbusaddr, dma_unmap_single(dev, inpbusaddr,
sizeof(u32 *) * JOBR_DEPTH, sizeof(dma_addr_t) * JOBR_DEPTH,
DMA_BIDIRECTIONAL); DMA_BIDIRECTIONAL);
kfree(jrp->inpring); kfree(jrp->inpring);
kfree(jrp->outring); kfree(jrp->outring);
kfree(jrp->entinfo); kfree(jrp->entinfo);
...@@ -447,7 +447,7 @@ int caam_jr_shutdown(struct device *dev) ...@@ -447,7 +447,7 @@ int caam_jr_shutdown(struct device *dev)
dma_unmap_single(dev, outbusaddr, dma_unmap_single(dev, outbusaddr,
sizeof(struct jr_outentry) * JOBR_DEPTH, sizeof(struct jr_outentry) * JOBR_DEPTH,
DMA_BIDIRECTIONAL); DMA_BIDIRECTIONAL);
dma_unmap_single(dev, inpbusaddr, sizeof(u32 *) * JOBR_DEPTH, dma_unmap_single(dev, inpbusaddr, sizeof(dma_addr_t) * JOBR_DEPTH,
DMA_BIDIRECTIONAL); DMA_BIDIRECTIONAL);
kfree(jrp->outring); kfree(jrp->outring);
kfree(jrp->inpring); kfree(jrp->inpring);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment