On 11/22/2019 1:09 PM, Herbert Xu wrote: > On Fri, Nov 22, 2019 at 11:05:59AM +0000, Iuliana Prodan wrote: >> >> Sorry, but I don't understand what is wrong here? I'm using the correct >> type, the specific type, for the request when sending it to crypto engine. >> This transfer_request_to_engine function is called from caam_jr_enqueue, >> where I have all types of request, so I'm using the async_request, and >> when transferring to crypto engine I cast it to the specific type. > > These internal types are only for use by the crypto API and helper > code such as crypto_engine. They should not be used by drivers in > general. > So, just to be clear, I shouldn't use crypto_async_request in driver code? I see that this generic crypto request is used in multiple drivers. >> I believe is an overhead to sent all request to crypto engine since most >> of them can be directly executed by hw. >> Also, in case there is no need for backlog and the hw is busy we can >> drop the request. > > If the crypto_engine has so much overhead then you should work on > fixing crypto_engine and not work around it like this. > I can try sending _all_ requests to crypto engine and make some performance measurements to see which solution is best. Thanks, Iulia