DPDK 21.11.9
rte_rawdev.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright 2017 NXP
3 */
4
5#ifndef _RTE_RAWDEV_H_
6#define _RTE_RAWDEV_H_
7
17#ifdef __cplusplus
18extern "C" {
19#endif
20
21#include <rte_common.h>
22#include <rte_memory.h>
23#include <rte_errno.h>
24
25/* Rawdevice object - essentially a void to be typecast by implementation */
26typedef void *rte_rawdev_obj_t;
27
35uint8_t
37
48uint16_t
49rte_rawdev_get_dev_id(const char *name);
50
61int
62rte_rawdev_socket_id(uint16_t dev_id);
63
67struct rte_rawdev_info;
68
96int
97rte_rawdev_info_get(uint16_t dev_id, struct rte_rawdev_info *dev_info,
98 size_t dev_private_size);
99
129int
130rte_rawdev_configure(uint16_t dev_id, struct rte_rawdev_info *dev_conf,
131 size_t dev_private_size);
132
133
158int
160 uint16_t queue_id,
161 rte_rawdev_obj_t queue_conf,
162 size_t queue_conf_size);
163
184int
186 uint16_t queue_id,
187 rte_rawdev_obj_t queue_conf,
188 size_t queue_conf_size);
189
205int
206rte_rawdev_queue_release(uint16_t dev_id, uint16_t queue_id);
207
216uint16_t
217rte_rawdev_queue_count(uint16_t dev_id);
218
234int
235rte_rawdev_start(uint16_t dev_id);
236
244void
245rte_rawdev_stop(uint16_t dev_id);
246
258int
259rte_rawdev_close(uint16_t dev_id);
260
272int
273rte_rawdev_reset(uint16_t dev_id);
274
275#define RTE_RAWDEV_NAME_MAX_LEN (64)
285struct rte_rawdev {
287 int socket_id;
289 uint16_t dev_id;
291 const struct rte_rawdev_ops *dev_ops;
293 struct rte_device *device;
295 const char *driver_name;
296
299 uint8_t attached : 1;
301 uint8_t started : 1;
302
304 rte_rawdev_obj_t dev_private;
306 char name[RTE_RAWDEV_NAME_MAX_LEN];
308
310extern struct rte_rawdev *rte_rawdevs;
311
312
313struct rte_rawdev_info {
315 const char *driver_name;
317 struct rte_device *device;
319 int socket_id;
321 rte_rawdev_obj_t dev_private;
322};
323
324struct rte_rawdev_buf {
326 void *buf_addr;
327};
328
342int
343rte_rawdev_dump(uint16_t dev_id, FILE *f);
344
364int
365rte_rawdev_get_attr(uint16_t dev_id,
366 const char *attr_name,
367 uint64_t *attr_value);
368
383int
384rte_rawdev_set_attr(uint16_t dev_id,
385 const char *attr_name,
386 const uint64_t attr_value);
387
409int
411 struct rte_rawdev_buf **buffers,
412 unsigned int count,
413 rte_rawdev_obj_t context);
414
440int
442 struct rte_rawdev_buf **buffers,
443 unsigned int count,
444 rte_rawdev_obj_t context);
445
447#define RTE_RAW_DEV_XSTATS_NAME_SIZE 64
448
457};
458
480int
482 struct rte_rawdev_xstats_name *xstats_names,
483 unsigned int size);
484
504int
505rte_rawdev_xstats_get(uint16_t dev_id,
506 const unsigned int ids[],
507 uint64_t values[],
508 unsigned int n);
509
526uint64_t
528 const char *name,
529 unsigned int *id);
530
546int
548 const uint32_t ids[],
549 uint32_t nb_ids);
550
565int
567 rte_rawdev_obj_t status_info);
568
583int
585 rte_rawdev_obj_t version_info);
586
600int
601rte_rawdev_firmware_load(uint16_t dev_id, rte_rawdev_obj_t firmware_image);
602
612int
614
625int
626rte_rawdev_selftest(uint16_t dev_id);
627
628#ifdef __cplusplus
629}
630#endif
631
632#endif /* _RTE_RAWDEV_H_ */
#define __rte_cache_aligned
Definition: rte_common.h:420
#define RTE_STD_C11
Definition: rte_common.h:42
void * dev_private
int rte_rawdev_enqueue_buffers(uint16_t dev_id, struct rte_rawdev_buf **buffers, unsigned int count, rte_rawdev_obj_t context)
uint16_t rte_rawdev_queue_count(uint16_t dev_id)
int rte_rawdev_queue_release(uint16_t dev_id, uint16_t queue_id)
int rte_rawdev_xstats_get(uint16_t dev_id, const unsigned int ids[], uint64_t values[], unsigned int n)
int rte_rawdev_firmware_load(uint16_t dev_id, rte_rawdev_obj_t firmware_image)
int rte_rawdev_xstats_reset(uint16_t dev_id, const uint32_t ids[], uint32_t nb_ids)
uint64_t rte_rawdev_xstats_by_name_get(uint16_t dev_id, const char *name, unsigned int *id)
uint16_t rte_rawdev_get_dev_id(const char *name)
void rte_rawdev_stop(uint16_t dev_id)
int rte_rawdev_get_attr(uint16_t dev_id, const char *attr_name, uint64_t *attr_value)
int rte_rawdev_dump(uint16_t dev_id, FILE *f)
int rte_rawdev_socket_id(uint16_t dev_id)
int rte_rawdev_firmware_status_get(uint16_t dev_id, rte_rawdev_obj_t status_info)
int rte_rawdev_selftest(uint16_t dev_id)
uint8_t rte_rawdev_count(void)
int rte_rawdev_dequeue_buffers(uint16_t dev_id, struct rte_rawdev_buf **buffers, unsigned int count, rte_rawdev_obj_t context)
int rte_rawdev_set_attr(uint16_t dev_id, const char *attr_name, const uint64_t attr_value)
int rte_rawdev_firmware_version_get(uint16_t dev_id, rte_rawdev_obj_t version_info)
int rte_rawdev_configure(uint16_t dev_id, struct rte_rawdev_info *dev_conf, size_t dev_private_size)
int rte_rawdev_reset(uint16_t dev_id)
int rte_rawdev_firmware_unload(uint16_t dev_id)
#define RTE_RAW_DEV_XSTATS_NAME_SIZE
Definition: rte_rawdev.h:447
int rte_rawdev_close(uint16_t dev_id)
int rte_rawdev_queue_conf_get(uint16_t dev_id, uint16_t queue_id, rte_rawdev_obj_t queue_conf, size_t queue_conf_size)
int rte_rawdev_xstats_names_get(uint16_t dev_id, struct rte_rawdev_xstats_name *xstats_names, unsigned int size)
int rte_rawdev_queue_setup(uint16_t dev_id, uint16_t queue_id, rte_rawdev_obj_t queue_conf, size_t queue_conf_size)
int rte_rawdev_info_get(uint16_t dev_id, struct rte_rawdev_info *dev_info, size_t dev_private_size)
int rte_rawdev_start(uint16_t dev_id)
const char * name
Definition: rte_dev.h:87