Imported Upstream version 16.07-rc2
[deb_dpdk.git] / drivers / crypto / qat / qat_adf / qat_algs_build_desc.c
index aa108d4..185bb33 100644 (file)
@@ -51,6 +51,7 @@
 #include <rte_byteorder.h>
 #include <rte_log.h>
 #include <rte_malloc.h>
+#include <rte_crypto_sym.h>
 
 #include "../qat_logs.h"
 #include "qat_algs.h"
@@ -502,7 +503,8 @@ int qat_alg_aead_session_create_content_desc_auth(struct qat_session *cdesc,
                                                uint8_t *authkey,
                                                uint32_t authkeylen,
                                                uint32_t add_auth_data_length,
-                                               uint32_t digestsize)
+                                               uint32_t digestsize,
+                                               unsigned int operation)
 {
        struct icp_qat_hw_cipher_algo_blk *cipher;
        struct icp_qat_hw_auth_algo_blk *hash;
@@ -654,6 +656,12 @@ int qat_alg_aead_session_create_content_desc_auth(struct qat_session *cdesc,
                ICP_QAT_FW_LA_CMP_AUTH_SET(header->serv_specif_flags,
                        ICP_QAT_FW_LA_NO_CMP_AUTH_RES);
        }
+       if (operation == RTE_CRYPTO_AUTH_OP_VERIFY) {
+               ICP_QAT_FW_LA_RET_AUTH_SET(header->serv_specif_flags,
+                                               ICP_QAT_FW_LA_NO_RET_AUTH_RES);
+               ICP_QAT_FW_LA_CMP_AUTH_SET(header->serv_specif_flags,
+                                               ICP_QAT_FW_LA_CMP_AUTH_RES);
+       }
 
        /* Cipher CD config setup */
        cipher_cd_ctrl->cipher_state_sz = ICP_QAT_HW_AES_BLK_SZ >> 3;