[PATCH v1 19/22] test/qtest/hace: Support 64-bit source and digest addresses for AST2700

Jamin Lin via posted 22 patches 10 months, 3 weeks ago
There is a newer version of this series
[PATCH v1 19/22] test/qtest/hace: Support 64-bit source and digest addresses for AST2700
Posted by Jamin Lin via 10 months, 3 weeks ago
Added "HACE_HASH_SRC_HI" and "HACE_HASH_DIGEST_HI", "HACE_HASH_KEY_BUFF_HI"
registers to store upper 32 bits.
Updated "write_regs" to handle 64-bit source and digest addresses.

Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
---
 tests/qtest/aspeed-hace-utils.h | 3 +++
 tests/qtest/aspeed-hace-utils.c | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/tests/qtest/aspeed-hace-utils.h b/tests/qtest/aspeed-hace-utils.h
index 0382570fa2..d8684d3f83 100644
--- a/tests/qtest/aspeed-hace-utils.h
+++ b/tests/qtest/aspeed-hace-utils.h
@@ -36,6 +36,9 @@
 #define HACE_HASH_KEY_BUFF       0x28
 #define HACE_HASH_DATA_LEN       0x2c
 #define HACE_HASH_CMD            0x30
+#define HACE_HASH_SRC_HI         0x90
+#define HACE_HASH_DIGEST_HI      0x94
+#define HACE_HASH_KEY_BUFF_HI    0x98
 
 /* Scatter-Gather Hash */
 #define SG_LIST_LEN_LAST         BIT(31)
diff --git a/tests/qtest/aspeed-hace-utils.c b/tests/qtest/aspeed-hace-utils.c
index f39bb8ea48..8d9c464f72 100644
--- a/tests/qtest/aspeed-hace-utils.c
+++ b/tests/qtest/aspeed-hace-utils.c
@@ -157,7 +157,9 @@ static void write_regs(QTestState *s, uint32_t base, uint64_t src,
                        uint32_t length, uint64_t out, uint32_t method)
 {
         qtest_writel(s, base + HACE_HASH_SRC, extract64(src, 0, 32));
+        qtest_writel(s, base + HACE_HASH_SRC_HI, extract64(src, 32, 32));
         qtest_writel(s, base + HACE_HASH_DIGEST, extract64(out, 0, 32));
+        qtest_writel(s, base + HACE_HASH_DIGEST_HI, extract64(out, 32, 32));
         qtest_writel(s, base + HACE_HASH_DATA_LEN, length);
         qtest_writel(s, base + HACE_HASH_CMD, HACE_SHA_BE_EN | method);
 }
-- 
2.43.0
Re: [PATCH v1 19/22] test/qtest/hace: Support 64-bit source and digest addresses for AST2700
Posted by Cédric Le Goater 10 months, 1 week ago
On 3/21/25 10:26, Jamin Lin wrote:
> Added "HACE_HASH_SRC_HI" and "HACE_HASH_DIGEST_HI", "HACE_HASH_KEY_BUFF_HI"
> registers to store upper 32 bits.
> Updated "write_regs" to handle 64-bit source and digest addresses.
> 
> Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>


Reviewed-by: Cédric Le Goater <clg@redhat.com>

Thanks,

C.


> ---
>   tests/qtest/aspeed-hace-utils.h | 3 +++
>   tests/qtest/aspeed-hace-utils.c | 2 ++
>   2 files changed, 5 insertions(+)
> 
> diff --git a/tests/qtest/aspeed-hace-utils.h b/tests/qtest/aspeed-hace-utils.h
> index 0382570fa2..d8684d3f83 100644
> --- a/tests/qtest/aspeed-hace-utils.h
> +++ b/tests/qtest/aspeed-hace-utils.h
> @@ -36,6 +36,9 @@
>   #define HACE_HASH_KEY_BUFF       0x28
>   #define HACE_HASH_DATA_LEN       0x2c
>   #define HACE_HASH_CMD            0x30
> +#define HACE_HASH_SRC_HI         0x90
> +#define HACE_HASH_DIGEST_HI      0x94
> +#define HACE_HASH_KEY_BUFF_HI    0x98
>   
>   /* Scatter-Gather Hash */
>   #define SG_LIST_LEN_LAST         BIT(31)
> diff --git a/tests/qtest/aspeed-hace-utils.c b/tests/qtest/aspeed-hace-utils.c
> index f39bb8ea48..8d9c464f72 100644
> --- a/tests/qtest/aspeed-hace-utils.c
> +++ b/tests/qtest/aspeed-hace-utils.c
> @@ -157,7 +157,9 @@ static void write_regs(QTestState *s, uint32_t base, uint64_t src,
>                          uint32_t length, uint64_t out, uint32_t method)
>   {
>           qtest_writel(s, base + HACE_HASH_SRC, extract64(src, 0, 32));
> +        qtest_writel(s, base + HACE_HASH_SRC_HI, extract64(src, 32, 32));
>           qtest_writel(s, base + HACE_HASH_DIGEST, extract64(out, 0, 32));
> +        qtest_writel(s, base + HACE_HASH_DIGEST_HI, extract64(out, 32, 32));
>           qtest_writel(s, base + HACE_HASH_DATA_LEN, length);
>           qtest_writel(s, base + HACE_HASH_CMD, HACE_SHA_BE_EN | method);
>   }