Invoke event_dev_probing_finish() function at the end of probing,
this function sets the function pointers in the fp_ops flat array
in case of secondary process.
For primary process, fp_ops is updated in rte_cryptodev_start().
Signed-off-by: Akhil Goyal <gakhil@marvell.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Matan Azrad <matan@nvidia.com>
20 files changed:
internals->max_nb_qpairs = init_params->max_nb_queue_pairs;
internals->max_nb_qpairs = init_params->max_nb_queue_pairs;
+ rte_cryptodev_pmd_probing_finish(dev);
+
internals->sym_dev_id = cryptodev->data->dev_id;
internals->fsdev_capabilities = bcmfs_sym_get_capabilities();
internals->sym_dev_id = cryptodev->data->dev_id;
internals->fsdev_capabilities = bcmfs_sym_get_capabilities();
+ rte_cryptodev_pmd_probing_finish(cryptodev);
+
BCMFS_LOG(DEBUG, "Created bcmfs-sym device %s as cryptodev instance %d",
cryptodev->data->name, internals->sym_dev_id);
return 0;
BCMFS_LOG(DEBUG, "Created bcmfs-sym device %s as cryptodev instance %d",
cryptodev->data->name, internals->sym_dev_id);
return 0;
security_instance->sess_cnt = 0;
dev->security_ctx = security_instance;
security_instance->sess_cnt = 0;
dev->security_ctx = security_instance;
+ rte_cryptodev_pmd_probing_finish(dev);
+
RTE_LOG(INFO, PMD, "%s cryptodev init\n", dev->data->name);
return 0;
RTE_LOG(INFO, PMD, "%s cryptodev init\n", dev->data->name);
return 0;
internals->auth_opt = init_params->auth_opt;
internals->crypto_num_dev = cryptodev_cnt;
internals->auth_opt = init_params->auth_opt;
internals->crypto_num_dev = cryptodev_cnt;
+ rte_cryptodev_pmd_probing_finish(dev);
+
cn10k_cpt_set_enqdeq_fns(dev);
cn10k_sec_ops_override();
cn10k_cpt_set_enqdeq_fns(dev);
cn10k_sec_ops_override();
+ rte_cryptodev_pmd_probing_finish(dev);
+
cn9k_cpt_set_enqdeq_fns(dev);
cn9k_sec_ops_override();
cn9k_cpt_set_enqdeq_fns(dev);
cn9k_sec_ops_override();
+ rte_cryptodev_pmd_probing_finish(dev);
+
/* Invoke PMD device initialization function */
retval = dpaa2_sec_dev_init(cryptodev);
/* Invoke PMD device initialization function */
retval = dpaa2_sec_dev_init(cryptodev);
+ if (retval == 0) {
+ rte_cryptodev_pmd_probing_finish(cryptodev);
if (rte_eal_process_type() == RTE_PROC_PRIMARY)
rte_free(cryptodev->data->dev_private);
if (rte_eal_process_type() == RTE_PROC_PRIMARY)
rte_free(cryptodev->data->dev_private);
/* Invoke PMD device initialization function */
retval = dpaa_sec_dev_init(cryptodev);
/* Invoke PMD device initialization function */
retval = dpaa_sec_dev_init(cryptodev);
+ if (retval == 0) {
+ rte_cryptodev_pmd_probing_finish(cryptodev);
+ rte_cryptodev_pmd_probing_finish(dev);
+
IPSEC_MB_LOG(INFO, "IPSec Multi-buffer library version used: %s\n",
imb_get_version_str());
IPSEC_MB_LOG(INFO, "IPSec Multi-buffer library version used: %s\n",
imb_get_version_str());
pthread_mutex_lock(&priv_list_lock);
TAILQ_INSERT_TAIL(&mlx5_crypto_priv_list, priv, next);
pthread_mutex_unlock(&priv_list_lock);
pthread_mutex_lock(&priv_list_lock);
TAILQ_INSERT_TAIL(&mlx5_crypto_priv_list, priv, next);
pthread_mutex_unlock(&priv_list_lock);
+
+ rte_cryptodev_pmd_probing_finish(crypto_dev);
+
if (ret)
goto init_error;
if (ret)
goto init_error;
+ rte_cryptodev_pmd_probing_finish(dev);
+
ndev->sym_dev = cdev->data->dev_private;
ndev->sym_dev->cdev = cdev;
ndev->sym_dev->ndev = ndev;
ndev->sym_dev = cdev->data->dev_private;
ndev->sym_dev->cdev = cdev;
ndev->sym_dev->ndev = ndev;
+
+ rte_cryptodev_pmd_probing_finish(cdev);
+
NITROX_LOG(DEBUG, "Created cryptodev '%s', dev_id %d, drv_id %d\n",
cdev->data->name, cdev->data->dev_id, nitrox_sym_drv_id);
return 0;
NITROX_LOG(DEBUG, "Created cryptodev '%s', dev_id %d, drv_id %d\n",
cdev->data->name, cdev->data->dev_id, nitrox_sym_drv_id);
return 0;
internals->max_nb_qpairs = init_params->max_nb_queue_pairs;
internals->max_nb_qpairs = init_params->max_nb_queue_pairs;
+ rte_cryptodev_pmd_probing_finish(dev);
+
/* Invoke PMD device initialization function */
retval = otx_cpt_dev_create(cryptodev);
/* Invoke PMD device initialization function */
retval = otx_cpt_dev_create(cryptodev);
+ if (retval == 0) {
+ rte_cryptodev_pmd_probing_finish(cryptodev);
CPT_LOG_ERR("[DRV %s]: Failed to create device "
"(vendor_id: 0x%x device_id: 0x%x",
CPT_LOG_ERR("[DRV %s]: Failed to create device "
"(vendor_id: 0x%x device_id: 0x%x",
if (rte_eal_process_type() == RTE_PROC_SECONDARY)
otx2_cpt_set_enqdeq_fns(dev);
if (rte_eal_process_type() == RTE_PROC_SECONDARY)
otx2_cpt_set_enqdeq_fns(dev);
+ rte_cryptodev_pmd_probing_finish(dev);
+
internals->max_nb_qpairs = init_params->max_nb_queue_pairs;
internals->max_nb_qpairs = init_params->max_nb_queue_pairs;
+ rte_cryptodev_pmd_probing_finish(dev);
+
}
qat_pci_dev->asym_dev = internals;
}
qat_pci_dev->asym_dev = internals;
+
+ rte_cryptodev_pmd_probing_finish(cryptodev);
+
QAT_LOG(DEBUG, "Created QAT ASYM device %s as cryptodev instance %d",
cryptodev->data->name, internals->asym_dev_id);
return 0;
QAT_LOG(DEBUG, "Created QAT ASYM device %s as cryptodev instance %d",
cryptodev->data->name, internals->asym_dev_id);
return 0;
QAT_LOG(DEBUG, "Created QAT SYM device %s as cryptodev instance %d",
cryptodev->data->name, internals->sym_dev_id);
QAT_LOG(DEBUG, "Created QAT SYM device %s as cryptodev instance %d",
cryptodev->data->name, internals->sym_dev_id);
+ rte_cryptodev_pmd_probing_finish(cryptodev);
+
+ rte_cryptodev_pmd_probing_finish(dev);
+
VIRTIO_CRYPTO_PMD_GUEST_FEATURES) < 0)
return -1;
VIRTIO_CRYPTO_PMD_GUEST_FEATURES) < 0)
return -1;
+ rte_cryptodev_pmd_probing_finish(cryptodev);
+