pci: remove eal prefix
[dpdk.git] / lib / librte_cryptodev / rte_cryptodev.c
index 114dd57..02db8a5 100644 (file)
@@ -254,7 +254,7 @@ static int
 parse_integer_arg(const char *key __rte_unused,
                const char *value, void *extra_args)
 {
-       int *i = (int *) extra_args;
+       int *i = extra_args;
 
        *i = atoi(value);
        if (*i < 0) {
@@ -716,7 +716,7 @@ rte_cryptodev_pci_probe(struct rte_pci_driver *pci_drv,
        if (cryptodrv == NULL)
                return -ENODEV;
 
-       rte_eal_pci_device_name(&pci_dev->addr, cryptodev_name,
+       rte_pci_device_name(&pci_dev->addr, cryptodev_name,
                        sizeof(cryptodev_name));
 
        cryptodev = rte_cryptodev_pmd_allocate(cryptodev_name, rte_socket_id());
@@ -772,7 +772,7 @@ rte_cryptodev_pci_remove(struct rte_pci_device *pci_dev)
        if (pci_dev == NULL)
                return -EINVAL;
 
-       rte_eal_pci_device_name(&pci_dev->addr, cryptodev_name,
+       rte_pci_device_name(&pci_dev->addr, cryptodev_name,
                        sizeof(cryptodev_name));
 
        cryptodev = rte_cryptodev_pmd_get_named_dev(cryptodev_name);
@@ -1383,7 +1383,7 @@ rte_cryptodev_sym_session_create(uint8_t dev_id,
                return NULL;
        }
 
-       sess = (struct rte_cryptodev_sym_session *)_sess;
+       sess = _sess;
 
        RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->session_configure, NULL);
        if (dev->dev_ops->session_configure(dev, xform, sess->_private) ==
@@ -1399,6 +1399,53 @@ rte_cryptodev_sym_session_create(uint8_t dev_id,
        return sess;
 }
 
+int
+rte_cryptodev_queue_pair_attach_sym_session(uint16_t qp_id,
+               struct rte_cryptodev_sym_session *sess)
+{
+       struct rte_cryptodev *dev;
+
+       if (!rte_cryptodev_pmd_is_valid_dev(sess->dev_id)) {
+               CDEV_LOG_ERR("Invalid dev_id=%d", sess->dev_id);
+               return -EINVAL;
+       }
+
+       dev = &rte_crypto_devices[sess->dev_id];
+
+       /* The API is optional, not returning error if driver do not suuport */
+       RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->qp_attach_session, 0);
+       if (dev->dev_ops->qp_attach_session(dev, qp_id, sess->_private)) {
+               CDEV_LOG_ERR("dev_id %d failed to attach qp: %d with session",
+                               sess->dev_id, qp_id);
+               return -EPERM;
+       }
+
+       return 0;
+}
+
+int
+rte_cryptodev_queue_pair_detach_sym_session(uint16_t qp_id,
+               struct rte_cryptodev_sym_session *sess)
+{
+       struct rte_cryptodev *dev;
+
+       if (!rte_cryptodev_pmd_is_valid_dev(sess->dev_id)) {
+               CDEV_LOG_ERR("Invalid dev_id=%d", sess->dev_id);
+               return -EINVAL;
+       }
+
+       dev = &rte_crypto_devices[sess->dev_id];
+
+       /* The API is optional, not returning error if driver do not suuport */
+       RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->qp_detach_session, 0);
+       if (dev->dev_ops->qp_detach_session(dev, qp_id, sess->_private)) {
+               CDEV_LOG_ERR("dev_id %d failed to detach qp: %d from session",
+                               sess->dev_id, qp_id);
+               return -EPERM;
+       }
+
+       return 0;
+}
 struct rte_cryptodev_sym_session *
 rte_cryptodev_sym_session_free(uint8_t dev_id,
                struct rte_cryptodev_sym_session *sess)