Commit c23116e4 authored by Vakul Garg's avatar Vakul Garg Committed by Herbert Xu

crypto: caam/jr - Remove extra memory barrier during job ring enqueue

In caam_jr_enqueue(), a write barrier is needed to order stores to job
ring slot before declaring addition of new job into input job ring.
The register write is done using wr_reg32() which internally uses
iowrite32() for write operation. The api iowrite32() issues a write
barrier before issuing write operation. Therefore, the wmb() preceding
wr_reg32() can be safely removed.
Signed-off-by: default avatarVakul Garg <vakul.garg@nxp.com>
Reviewed-by: default avatarHoria Geanta <horia.geanta@nxp.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 1b30b989
...@@ -371,9 +371,11 @@ int caam_jr_enqueue(struct device *dev, u32 *desc, ...@@ -371,9 +371,11 @@ int caam_jr_enqueue(struct device *dev, u32 *desc,
/* /*
* Ensure that all job information has been written before * Ensure that all job information has been written before
* notifying CAAM that a new job was added to the input ring. * notifying CAAM that a new job was added to the input ring
* using a memory barrier. The wr_reg32() uses api iowrite32()
* to do the register write. iowrite32() issues a memory barrier
* before the write operation.
*/ */
wmb();
wr_reg32(&jrp->rregs->inpring_jobadd, 1); wr_reg32(&jrp->rregs->inpring_jobadd, 1);
......
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