DPDK
25.11.0
Toggle main menu visibility
Loading...
Searching...
No Matches
rte_bbdev_pmd.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: BSD-3-Clause
2
* Copyright(c) 2017 Intel Corporation
3
*/
4
5
#ifndef _RTE_BBDEV_PMD_H_
6
#define _RTE_BBDEV_PMD_H_
7
16
17
#include <stdint.h>
18
#include <
rte_log.h
>
19
20
#include "
rte_bbdev.h
"
21
22
#ifdef __cplusplus
23
extern
"C"
{
24
#endif
25
27
#define RTE_BBDEV_DEFAULT_MAX_NB_QUEUES RTE_MAX_LCORE
28
30
#define RTE_BBDEV_QUEUE_SIZE_LIMIT 16384
31
43
struct
rte_bbdev *
44
rte_bbdev_allocate(
const
char
*name);
45
55
int
56
rte_bbdev_release(
struct
rte_bbdev *bbdev);
57
68
struct
rte_bbdev *
69
rte_bbdev_get_named_dev
(
const
char
*name);
70
76
78
typedef
int (*
rte_bbdev_setup_queues_t
)(
struct
rte_bbdev *dev,
79
uint16_t num_queues,
int
socket_id);
80
82
typedef
int (*rte_bbdev_intr_enable_t)(
struct
rte_bbdev *dev);
83
85
typedef
int (*rte_bbdev_queue_setup_t)(
struct
rte_bbdev *dev,
86
uint16_t queue_id,
const
struct
rte_bbdev_queue_conf
*conf);
87
88
/*
89
* @internal
90
* Function to release memory resources allocated for a device queue.
91
*/
92
typedef
int (*rte_bbdev_queue_release_t)(
struct
rte_bbdev *dev,
93
uint16_t queue_id);
94
96
typedef
int (*rte_bbdev_start_t)(
struct
rte_bbdev *dev);
97
99
typedef
void (*rte_bbdev_stop_t)(
struct
rte_bbdev *dev);
100
102
typedef
int (*rte_bbdev_close_t)(
struct
rte_bbdev *dev);
103
105
typedef
int (*rte_bbdev_queue_start_t)(
struct
rte_bbdev *dev,
106
uint16_t queue_id);
107
109
typedef
int (*rte_bbdev_queue_stop_t)(
struct
rte_bbdev *dev, uint16_t queue_id);
110
112
typedef
void (*rte_bbdev_stats_get_t)(
struct
rte_bbdev *dev,
113
struct
rte_bbdev_stats
*stats);
114
116
typedef
void (*rte_bbdev_stats_reset_t)(
struct
rte_bbdev *dev);
117
119
typedef
void (*rte_bbdev_info_get_t)(
struct
rte_bbdev *dev,
120
struct
rte_bbdev_driver_info
*dev_info);
121
122
/*
123
* @internal
124
* Function to enable interrupt for next op on a queue of a device.
125
*/
126
typedef
int (*rte_bbdev_queue_intr_enable_t)(
struct
rte_bbdev *dev,
127
uint16_t queue_id);
128
129
/*
130
* @internal
131
* Function to disable interrupt for next op on a queue of a device.
132
*/
133
typedef
int (*rte_bbdev_queue_intr_disable_t)(
struct
rte_bbdev *dev,
134
uint16_t queue_id);
135
136
/*
137
* @internal
138
* Function to dump previous operations on a queue of a device.
139
*/
140
typedef
int (*rte_bbdev_queue_ops_dump_t)(
struct
rte_bbdev *dev,
141
uint16_t queue_id, FILE *file);
142
148
struct
rte_bbdev_ops
{
150
rte_bbdev_setup_queues_t
setup_queues
;
152
rte_bbdev_intr_enable_t
intr_enable
;
154
rte_bbdev_start_t
start
;
156
rte_bbdev_stop_t
stop
;
158
rte_bbdev_close_t
close
;
159
161
rte_bbdev_info_get_t
info_get
;
163
rte_bbdev_stats_get_t
stats_get
;
165
rte_bbdev_stats_reset_t
stats_reset
;
166
168
rte_bbdev_queue_setup_t
queue_setup
;
170
rte_bbdev_queue_release_t
queue_release
;
172
rte_bbdev_queue_start_t
queue_start
;
174
rte_bbdev_queue_stop_t
queue_stop
;
175
177
rte_bbdev_queue_intr_enable_t
queue_intr_enable
;
179
rte_bbdev_queue_intr_disable_t
queue_intr_disable
;
181
rte_bbdev_queue_ops_dump_t
queue_ops_dump
;
182
};
183
195
void
196
rte_bbdev_pmd_callback_process
(
struct
rte_bbdev *dev,
197
enum
rte_bbdev_event_type
event,
void
*ret_param);
198
199
#ifdef __cplusplus
200
}
201
#endif
202
203
#endif
/* _RTE_BBDEV_PMD_H_ */
rte_bbdev.h
rte_bbdev_event_type
rte_bbdev_event_type
Definition
rte_bbdev.h:948
rte_bbdev_get_named_dev
struct rte_bbdev * rte_bbdev_get_named_dev(const char *name)
rte_bbdev_setup_queues_t
int(* rte_bbdev_setup_queues_t)(struct rte_bbdev *dev, uint16_t num_queues, int socket_id)
Definition
rte_bbdev_pmd.h:78
rte_bbdev_pmd_callback_process
void rte_bbdev_pmd_callback_process(struct rte_bbdev *dev, enum rte_bbdev_event_type event, void *ret_param)
rte_log.h
rte_bbdev_driver_info
Definition
rte_bbdev.h:322
rte_bbdev_ops
Definition
rte_bbdev_pmd.h:148
rte_bbdev_ops::queue_setup
rte_bbdev_queue_setup_t queue_setup
Definition
rte_bbdev_pmd.h:168
rte_bbdev_ops::stop
rte_bbdev_stop_t stop
Definition
rte_bbdev_pmd.h:156
rte_bbdev_ops::queue_stop
rte_bbdev_queue_stop_t queue_stop
Definition
rte_bbdev_pmd.h:174
rte_bbdev_ops::info_get
rte_bbdev_info_get_t info_get
Definition
rte_bbdev_pmd.h:161
rte_bbdev_ops::queue_intr_disable
rte_bbdev_queue_intr_disable_t queue_intr_disable
Definition
rte_bbdev_pmd.h:179
rte_bbdev_ops::intr_enable
rte_bbdev_intr_enable_t intr_enable
Definition
rte_bbdev_pmd.h:152
rte_bbdev_ops::stats_get
rte_bbdev_stats_get_t stats_get
Definition
rte_bbdev_pmd.h:163
rte_bbdev_ops::stats_reset
rte_bbdev_stats_reset_t stats_reset
Definition
rte_bbdev_pmd.h:165
rte_bbdev_ops::queue_release
rte_bbdev_queue_release_t queue_release
Definition
rte_bbdev_pmd.h:170
rte_bbdev_ops::queue_ops_dump
rte_bbdev_queue_ops_dump_t queue_ops_dump
Definition
rte_bbdev_pmd.h:181
rte_bbdev_ops::close
rte_bbdev_close_t close
Definition
rte_bbdev_pmd.h:158
rte_bbdev_ops::start
rte_bbdev_start_t start
Definition
rte_bbdev_pmd.h:154
rte_bbdev_ops::setup_queues
rte_bbdev_setup_queues_t setup_queues
Definition
rte_bbdev_pmd.h:150
rte_bbdev_ops::queue_intr_enable
rte_bbdev_queue_intr_enable_t queue_intr_enable
Definition
rte_bbdev_pmd.h:177
rte_bbdev_ops::queue_start
rte_bbdev_queue_start_t queue_start
Definition
rte_bbdev_pmd.h:172
rte_bbdev_queue_conf
Definition
rte_bbdev.h:135
rte_bbdev_stats
Definition
rte_bbdev.h:268
lib
bbdev
rte_bbdev_pmd.h
Generated by
1.17.0