diff options
| author | Akhil R <akhilrajeev@nvidia.com> | 2025-02-24 14:46:06 +0530 |
|---|---|---|
| committer | Herbert Xu <herbert@gondor.apana.org.au> | 2025-03-08 16:22:24 +0800 |
| commit | ff4b7df0b511b6121f3386607f02c16fb5d41192 (patch) | |
| tree | 73556f7beb8e8c230fa9817a2ec3fcd619950fae /include/linux/reset | |
| parent | 97ee15ea101629d2ffe21d3c5dc03b8d8be43603 (diff) | |
crypto: tegra - Fix HASH intermediate result handling
The intermediate hash values generated during an update task were
handled incorrectly in the driver. The values have a defined format for
each algorithm. Copying and pasting from the HASH_RESULT register
balantly would not work for all the supported algorithms. This incorrect
handling causes failures when there is a context switch between multiple
operations.
To handle the expected format correctly, add a separate buffer for
storing the intermediate results for each request. Remove the previous
copy/paste functions which read/wrote to the registers directly. Instead
configure the hardware to get the intermediate result copied to the
buffer and use host1x path to restore the intermediate hash results.
Fixes: 0880bb3b00c8 ("crypto: tegra - Add Tegra Security Engine driver")
Signed-off-by: Akhil R <akhilrajeev@nvidia.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'include/linux/reset')
0 files changed, 0 insertions, 0 deletions
