99b8ca5a466ed30a5409323e8f4f2bf2bf6fb30d
[dpdk.git] / drivers / crypto / ccp / ccp_pmd_ops.c
1 /*   SPDX-License-Identifier: BSD-3-Clause
2  *   Copyright(c) 2018 Advanced Micro Devices, Inc. All rights reserved.
3  */
4
5 #include <string.h>
6
7 #include <rte_common.h>
8 #include <rte_cryptodev_pmd.h>
9 #include <rte_malloc.h>
10
11 #include "ccp_pmd_private.h"
12 #include "ccp_dev.h"
13
14 static const struct rte_cryptodev_capabilities ccp_pmd_capabilities[] = {
15         RTE_CRYPTODEV_END_OF_CAPABILITIES_LIST()
16 };
17
18 static int
19 ccp_pmd_config(struct rte_cryptodev *dev __rte_unused,
20                struct rte_cryptodev_config *config __rte_unused)
21 {
22         return 0;
23 }
24
25 static int
26 ccp_pmd_start(struct rte_cryptodev *dev)
27 {
28         return ccp_dev_start(dev);
29 }
30
31 static void
32 ccp_pmd_stop(struct rte_cryptodev *dev __rte_unused)
33 {
34
35 }
36
37 static int
38 ccp_pmd_close(struct rte_cryptodev *dev __rte_unused)
39 {
40         return 0;
41 }
42
43 static void
44 ccp_pmd_info_get(struct rte_cryptodev *dev,
45                  struct rte_cryptodev_info *dev_info)
46 {
47         struct ccp_private *internals = dev->data->dev_private;
48
49         if (dev_info != NULL) {
50                 dev_info->driver_id = dev->driver_id;
51                 dev_info->feature_flags = dev->feature_flags;
52                 dev_info->capabilities = ccp_pmd_capabilities;
53                 dev_info->max_nb_queue_pairs = internals->max_nb_qpairs;
54                 dev_info->sym.max_nb_sessions = internals->max_nb_sessions;
55         }
56 }
57
58 struct rte_cryptodev_ops ccp_ops = {
59                 .dev_configure          = ccp_pmd_config,
60                 .dev_start              = ccp_pmd_start,
61                 .dev_stop               = ccp_pmd_stop,
62                 .dev_close              = ccp_pmd_close,
63
64                 .stats_get              = NULL,
65                 .stats_reset            = NULL,
66
67                 .dev_infos_get          = ccp_pmd_info_get,
68
69                 .queue_pair_setup       = NULL,
70                 .queue_pair_release     = NULL,
71                 .queue_pair_start       = NULL,
72                 .queue_pair_stop        = NULL,
73                 .queue_pair_count       = NULL,
74
75                 .session_get_size       = NULL,
76                 .session_configure      = NULL,
77                 .session_clear          = NULL,
78 };
79
80 struct rte_cryptodev_ops *ccp_pmd_ops = &ccp_ops;