1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2018 Intel Corporation
5 #include <rte_common.h>
6 #include <rte_compressdev_pmd.h>
8 #include "isal_compress_pmd_private.h"
10 static const struct rte_compressdev_capabilities isal_pmd_capabilities[] = {
11 RTE_COMP_END_OF_CAPABILITIES_LIST()
14 /** Configure device */
16 isal_comp_pmd_config(struct rte_compressdev *dev __rte_unused,
17 struct rte_compressdev_config *config __rte_unused)
24 isal_comp_pmd_start(__rte_unused struct rte_compressdev *dev)
31 isal_comp_pmd_stop(__rte_unused struct rte_compressdev *dev)
37 isal_comp_pmd_close(struct rte_compressdev *dev)
39 /* Free private data */
40 struct isal_comp_private *internals = dev->data->dev_private;
42 rte_mempool_free(internals->priv_xform_mp);
46 /** Get device info */
48 isal_comp_pmd_info_get(struct rte_compressdev *dev __rte_unused,
49 struct rte_compressdev_info *dev_info)
51 if (dev_info != NULL) {
52 dev_info->capabilities = isal_pmd_capabilities;
53 dev_info->feature_flags = RTE_COMPDEV_FF_CPU_AVX512 |
54 RTE_COMPDEV_FF_CPU_AVX2 |
55 RTE_COMPDEV_FF_CPU_AVX |
56 RTE_COMPDEV_FF_CPU_SSE;
60 struct rte_compressdev_ops isal_pmd_ops = {
61 .dev_configure = isal_comp_pmd_config,
62 .dev_start = isal_comp_pmd_start,
63 .dev_stop = isal_comp_pmd_stop,
64 .dev_close = isal_comp_pmd_close,
69 .dev_infos_get = isal_comp_pmd_info_get,
71 .queue_pair_setup = NULL,
72 .queue_pair_release = NULL,
74 .private_xform_create = NULL,
75 .private_xform_free = NULL,
78 struct rte_compressdev_ops *isal_compress_pmd_ops = &isal_pmd_ops;