| 743 | }; |
| 744 | |
| 745 | int |
| 746 | nitrox_sym_pmd_create(struct nitrox_device *ndev) |
| 747 | { |
| 748 | char name[RTE_CRYPTODEV_NAME_MAX_LEN]; |
| 749 | struct rte_cryptodev_pmd_init_params init_params = { |
| 750 | .name = "", |
| 751 | .socket_id = ndev->pdev->device.numa_node, |
| 752 | .private_data_size = sizeof(struct nitrox_sym_device) |
| 753 | }; |
| 754 | struct rte_cryptodev *cdev; |
| 755 | |
| 756 | rte_pci_device_name(&ndev->pdev->addr, name, sizeof(name)); |
| 757 | snprintf(name + strlen(name), RTE_CRYPTODEV_NAME_MAX_LEN - strlen(name), |
| 758 | "_n5sym"); |
| 759 | ndev->rte_sym_dev.driver = &nitrox_rte_sym_drv; |
| 760 | ndev->rte_sym_dev.numa_node = ndev->pdev->device.numa_node; |
| 761 | ndev->rte_sym_dev.devargs = NULL; |
| 762 | cdev = rte_cryptodev_pmd_create(name, &ndev->rte_sym_dev, |
| 763 | &init_params); |
| 764 | if (!cdev) { |
| 765 | NITROX_LOG(ERR, "Cryptodev '%s' creation failed\n", name); |
| 766 | return -ENODEV; |
| 767 | } |
| 768 | |
| 769 | ndev->rte_sym_dev.name = cdev->data->name; |
| 770 | cdev->driver_id = nitrox_sym_drv_id; |
| 771 | cdev->dev_ops = &nitrox_cryptodev_ops; |
| 772 | cdev->enqueue_burst = nitrox_sym_dev_enq_burst; |
| 773 | cdev->dequeue_burst = nitrox_sym_dev_deq_burst; |
| 774 | cdev->feature_flags = RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO | |
| 775 | RTE_CRYPTODEV_FF_HW_ACCELERATED | |
| 776 | RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING | |
| 777 | RTE_CRYPTODEV_FF_IN_PLACE_SGL | |
| 778 | RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT | |
| 779 | RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT | |
| 780 | RTE_CRYPTODEV_FF_OOP_LB_IN_SGL_OUT | |
| 781 | RTE_CRYPTODEV_FF_OOP_LB_IN_LB_OUT; |
| 782 | |
| 783 | ndev->sym_dev = cdev->data->dev_private; |
| 784 | ndev->sym_dev->cdev = cdev; |
| 785 | ndev->sym_dev->ndev = ndev; |
| 786 | |
| 787 | rte_cryptodev_pmd_probing_finish(cdev); |
| 788 | |
| 789 | NITROX_LOG(DEBUG, "Created cryptodev '%s', dev_id %d, drv_id %d\n", |
| 790 | cdev->data->name, cdev->data->dev_id, nitrox_sym_drv_id); |
| 791 | return 0; |
| 792 | } |
| 793 | |
| 794 | int |
| 795 | nitrox_sym_pmd_destroy(struct nitrox_device *ndev) |
no test coverage detected