cryptodev: change queue pair configure structure
[dpdk.git] / drivers / crypto / virtio / virtio_cryptodev.c
index be6d5d7..4bae3b8 100644 (file)
@@ -36,8 +36,7 @@ static void virtio_crypto_dev_stats_reset(struct rte_cryptodev *dev);
 static int virtio_crypto_qp_setup(struct rte_cryptodev *dev,
                uint16_t queue_pair_id,
                const struct rte_cryptodev_qp_conf *qp_conf,
-               int socket_id,
-               struct rte_mempool *session_pool);
+               int socket_id);
 static int virtio_crypto_qp_release(struct rte_cryptodev *dev,
                uint16_t queue_pair_id);
 static void virtio_crypto_dev_free_mbufs(struct rte_cryptodev *dev);
@@ -518,9 +517,9 @@ static struct rte_cryptodev_ops virtio_crypto_dev_ops = {
        .queue_pair_count                = NULL,
 
        /* Crypto related operations */
-       .session_get_size       = virtio_crypto_sym_get_session_private_size,
-       .session_configure      = virtio_crypto_sym_configure_session,
-       .session_clear          = virtio_crypto_sym_clear_session
+       .sym_session_get_size           = virtio_crypto_sym_get_session_private_size,
+       .sym_session_configure          = virtio_crypto_sym_configure_session,
+       .sym_session_clear              = virtio_crypto_sym_clear_session
 };
 
 static void
@@ -585,8 +584,7 @@ virtio_crypto_dev_stats_reset(struct rte_cryptodev *dev)
 static int
 virtio_crypto_qp_setup(struct rte_cryptodev *dev, uint16_t queue_pair_id,
                const struct rte_cryptodev_qp_conf *qp_conf,
-               int socket_id,
-               struct rte_mempool *session_pool __rte_unused)
+               int socket_id)
 {
        int ret;
        struct virtqueue *vq;
@@ -958,7 +956,7 @@ virtio_crypto_sym_clear_session(
 
        hw = dev->data->dev_private;
        vq = hw->cvq;
-       session = (struct virtio_crypto_session *)get_session_private_data(
+       session = (struct virtio_crypto_session *)get_sym_session_private_data(
                sess, cryptodev_virtio_driver_id);
        if (session == NULL) {
                VIRTIO_CRYPTO_SESSION_LOG_ERR("Invalid session parameter");
@@ -1076,7 +1074,10 @@ virtio_crypto_sym_clear_session(
        VIRTIO_CRYPTO_SESSION_LOG_INFO("Close session %"PRIu64" successfully ",
                        session->session_id);
 
-       memset(sess, 0, sizeof(struct virtio_crypto_session));
+       memset(session, 0, sizeof(struct virtio_crypto_session));
+       struct rte_mempool *sess_mp = rte_mempool_from_obj(session);
+       set_sym_session_private_data(sess, cryptodev_virtio_driver_id, NULL);
+       rte_mempool_put(sess_mp, session);
        rte_free(malloc_virt_addr);
 }
 
@@ -1392,7 +1393,7 @@ virtio_crypto_sym_configure_session(
                goto error_out;
        }
 
-       set_session_private_data(sess, dev->driver_id,
+       set_sym_session_private_data(sess, dev->driver_id,
                session_private);
 
        return 0;
@@ -1475,9 +1476,7 @@ RTE_PMD_REGISTER_CRYPTO_DRIVER(virtio_crypto_drv,
        rte_virtio_crypto_driver.driver,
        cryptodev_virtio_driver_id);
 
-RTE_INIT(virtio_crypto_init_log);
-static void
-virtio_crypto_init_log(void)
+RTE_INIT(virtio_crypto_init_log)
 {
        virtio_crypto_logtype_init = rte_log_register("pmd.crypto.virtio.init");
        if (virtio_crypto_logtype_init >= 0)