[v3,5/5] crypto/armv8: fix clang build
Checks
Commit Message
1. Clang requires braces around initialization of subobject.
2. Clang complains implicit conversion of enumeration type.
Trapped issue with Clang version 8.0 and CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO
was set.
Error messages:
rte_armv8_pmd.c:144:2: error: suggest braces around initialization of
subobject [-Werror,-Wmissing-braces]
NULL
^~~~
{ }
/usr/lib/llvm-8/lib/clang/8.0.0/include/stddef.h:105:16: note: expanded
from macro 'NULL'
^~~~~~~~~~
rte_armv8_pmd.c:429:21: error: implicit conversion from enumeration
type 'enum rte_crypto_cipher_operation' to different enumeration type
'enum armv8_crypto_cipher_operation' [-Werror,-Wenum-conversion]
cop = sess->cipher.direction;
~ ~~~~~~~~~~~~~^~~~~~~~~
Fixes: 169ca3db550c ("crypto/armv8: add PMD optimized for ARMv8 processors")
Cc: stable@dpdk.org
Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Gavin Hu <gavin.hu@arm.com>
---
drivers/crypto/armv8/rte_armv8_pmd.c | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
@@ -86,12 +86,12 @@ crypto_op_ca_encrypt = {
static const crypto_func_tbl_t
crypto_op_ca_decrypt = {
- NULL
+ { {NULL} }
};
static const crypto_func_tbl_t
crypto_op_ac_encrypt = {
- NULL
+ { {NULL} }
};
static const crypto_func_tbl_t
@@ -377,7 +377,16 @@ armv8_crypto_set_session_chained_parameters(struct armv8_crypto_session *sess,
/* Select cipher key */
sess->cipher.key.length = cipher_xform->cipher.key.length;
/* Set cipher direction */
- cop = sess->cipher.direction;
+ switch (sess->cipher.direction) {
+ case RTE_CRYPTO_CIPHER_OP_ENCRYPT:
+ cop = ARMV8_CRYPTO_CIPHER_OP_ENCRYPT;
+ break;
+ case RTE_CRYPTO_CIPHER_OP_DECRYPT:
+ cop = ARMV8_CRYPTO_CIPHER_OP_DECRYPT;
+ break;
+ default:
+ return -ENOTSUP;
+ }
/* Set cipher algorithm */
calg = cipher_xform->cipher.algo;