Requirements:
In QCE crypto driver we are accessing the crypto engine registers
directly via CPU read/write. Trust Zone could possibly to perform some
crypto operations simultaneously, a race condition will be created and
this could result in undefined behavior.
To avoid this behavior we need to use BAM HW LOCK/UNLOCK feature on BAM
pipes, and this LOCK/UNLOCK will be set via sending a command descriptor,
where the HLOS/TZ QCE crypto driver prepares a command descriptor with a
dummy write operation on one of the QCE crypto engine register and pass
the LOCK/UNLOCK flag along with it.
This feature tested with tcrypt.ko and "libkcapi" with all the AES
algorithm supported by QCE crypto engine. Tested on IPQ9574 and
qcm6490.LE chipset.