1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2018 Intel Corporation
5 #include "qat_device.h"
6 #include "adf_transport_access_macros.h"
9 /* Hardware device information per generation */
11 struct qat_gen_hw_data qp_gen_config[] = {
14 .qp_hw_data = qat_gen1_qps,
18 .qp_hw_data = qat_gen1_qps,
19 /* gen2 has same ring layout as gen1 */
23 int qat_dev_config(__rte_unused struct rte_cryptodev *dev,
24 __rte_unused struct rte_cryptodev_config *config)
26 PMD_INIT_FUNC_TRACE();
30 int qat_dev_start(__rte_unused struct rte_cryptodev *dev)
32 PMD_INIT_FUNC_TRACE();
36 void qat_dev_stop(__rte_unused struct rte_cryptodev *dev)
38 PMD_INIT_FUNC_TRACE();
41 int qat_dev_close(struct rte_cryptodev *dev)
45 PMD_INIT_FUNC_TRACE();
47 for (i = 0; i < dev->data->nb_queue_pairs; i++) {
48 ret = qat_sym_qp_release(dev, i);
56 void qat_dev_info_get(struct rte_cryptodev *dev,
57 struct rte_cryptodev_info *info)
59 struct qat_pmd_private *internals = dev->data->dev_private;
60 const struct qat_qp_hw_data *sym_hw_qps =
61 qp_gen_config[internals->qat_dev_gen]
62 .qp_hw_data[QAT_SERVICE_SYMMETRIC];
64 PMD_INIT_FUNC_TRACE();
66 info->max_nb_queue_pairs =
67 qat_qps_per_service(sym_hw_qps, QAT_SERVICE_SYMMETRIC);
68 info->feature_flags = dev->feature_flags;
69 info->capabilities = internals->qat_dev_capabilities;
70 info->sym.max_nb_sessions = internals->max_nb_sessions;
71 info->driver_id = cryptodev_qat_driver_id;
72 info->pci_dev = RTE_DEV_TO_PCI(dev->device);