compress/isal: add basic PMD ops
[dpdk.git] / drivers / compress / isal / isal_compress_pmd_ops.c
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2018 Intel Corporation
3  */
4
5 #include <rte_common.h>
6 #include <rte_compressdev_pmd.h>
7
8 #include "isal_compress_pmd_private.h"
9
10 static const struct rte_compressdev_capabilities isal_pmd_capabilities[] = {
11         RTE_COMP_END_OF_CAPABILITIES_LIST()
12 };
13
14 /** Configure device */
15 static int
16 isal_comp_pmd_config(struct rte_compressdev *dev __rte_unused,
17                 struct rte_compressdev_config *config __rte_unused)
18 {
19         return 0;
20 }
21
22 /** Start device */
23 static int
24 isal_comp_pmd_start(__rte_unused struct rte_compressdev *dev)
25 {
26         return 0;
27 }
28
29 /** Stop device */
30 static void
31 isal_comp_pmd_stop(__rte_unused struct rte_compressdev *dev)
32 {
33 }
34
35 /** Close device */
36 static int
37 isal_comp_pmd_close(struct rte_compressdev *dev)
38 {
39         /* Free private data */
40         struct isal_comp_private *internals = dev->data->dev_private;
41
42         rte_mempool_free(internals->priv_xform_mp);
43         return 0;
44 }
45
46 /** Get device info */
47 static void
48 isal_comp_pmd_info_get(struct rte_compressdev *dev __rte_unused,
49                 struct rte_compressdev_info *dev_info)
50 {
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;
57         }
58 }
59
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,
65
66                 .stats_get              = NULL,
67                 .stats_reset            = NULL,
68
69                 .dev_infos_get          = isal_comp_pmd_info_get,
70
71                 .queue_pair_setup       = NULL,
72                 .queue_pair_release     = NULL,
73
74                 .private_xform_create   = NULL,
75                 .private_xform_free     = NULL,
76 };
77
78 struct rte_compressdev_ops *isal_compress_pmd_ops = &isal_pmd_ops;