crypto/cnxk: add symmetric capabilities
[dpdk.git] / drivers / crypto / cnxk / cnxk_cryptodev_ops.c
index acb9f1f..0d81785 100644 (file)
@@ -10,6 +10,7 @@
 
 #include "cnxk_cryptodev.h"
 #include "cnxk_cryptodev_ops.h"
+#include "cnxk_cryptodev_capabilities.h"
 #include "cnxk_se.h"
 
 static int
@@ -99,7 +100,7 @@ cnxk_cpt_dev_info_get(struct rte_cryptodev *dev,
 
        info->max_nb_queue_pairs = roc_cpt->nb_lf_avail;
        info->feature_flags = dev->feature_flags;
-       info->capabilities = NULL;
+       info->capabilities = cnxk_crypto_capabilities_get(vf);
        info->sym.max_nb_sessions = 0;
        info->min_mbuf_headroom_req = CNXK_CPT_MIN_HEADROOM_REQ;
        info->min_mbuf_tailroom_req = 0;
@@ -469,6 +470,20 @@ sym_session_configure(struct roc_cpt *roc_cpt, int driver_id,
        case CNXK_CPT_AEAD:
                ret = fill_sess_aead(xform, sess_priv);
                break;
+       case CNXK_CPT_CIPHER_ENC_AUTH_GEN:
+       case CNXK_CPT_CIPHER_DEC_AUTH_VRFY:
+               ret = fill_sess_cipher(xform, sess_priv);
+               if (ret < 0)
+                       break;
+               ret = fill_sess_auth(xform->next, sess_priv);
+               break;
+       case CNXK_CPT_AUTH_VRFY_CIPHER_DEC:
+       case CNXK_CPT_AUTH_GEN_CIPHER_ENC:
+               ret = fill_sess_auth(xform, sess_priv);
+               if (ret < 0)
+                       break;
+               ret = fill_sess_cipher(xform->next, sess_priv);
+               break;
        default:
                ret = -1;
        }