-
Breno Lima authored
The hash command function were not flushing the dcache before passing data to CAAM/DMA and not invalidating the dcache when getting data back. Due the data cache incoherency, HW accelerated hash commands used to fail with CAAM errors like "Invalid KEY Command". Check if pbuf and pout buffers are properly aligned to the cache line size and flush/invalidate the memory regions to address this issue. This solution is based in a previous work from Clemens Gruber in commit 598e9dcc ("crypto/fsl: fix BLOB encapsulation and decapsulation") Reported-by:
Anatolij Gustschin <agust@denx.de> Signed-off-by:
Breno Lima <breno.lima@nxp.com> Reviewed-by:
York Sun <york.sun@nxp.com>
Breno Lima authoredThe hash command function were not flushing the dcache before passing data to CAAM/DMA and not invalidating the dcache when getting data back. Due the data cache incoherency, HW accelerated hash commands used to fail with CAAM errors like "Invalid KEY Command". Check if pbuf and pout buffers are properly aligned to the cache line size and flush/invalidate the memory regions to address this issue. This solution is based in a previous work from Clemens Gruber in commit 598e9dcc ("crypto/fsl: fix BLOB encapsulation and decapsulation") Reported-by:
Anatolij Gustschin <agust@denx.de> Signed-off-by:
Breno Lima <breno.lima@nxp.com> Reviewed-by:
York Sun <york.sun@nxp.com>