crypto: msm: add dynamic engine assignment support
This patch provides dynamic engine assignment for better performance. A platform may configure to support multiple crypto engines. Crypto engine assignment to a tranformer(tfm) can be dynamic. Engine assignment is deferred until a request of a tfm is served. In contrary, for static assignment, a crypto engine is statically assigned to a transformer. This patch supports both schemes. A transformer can issue multiple asynchronous requests in parallel. In case of static assignment, requests of the same tfm are served in sequence by the same engine. In case of dynamic assignment, requests can be issued in parallel to different hardware engines. There is a requirement as such, "for any tfm, ablkcipher, aead, or ahash, they must return results in the order they were given." In case of dynamic assignment, the order of completion from different hardware engines may not be in the same order as requests issued. Driver needs to re-sequence the order of response for a tfm to meet the requirement. Change-Id: I26495c1df0e44a5276989c33a19fddb5b107cb13 Acked-by:Chemin Hsieh <cheminh@qti.qualcomm.com> Signed-off-by:
Rohit Vaswani <rvaswani@codeaurora.org> Signed-off-by:
Zhen Kong <zkong@codeaurora.org>
Loading
Please register or sign in to comment