5 #ifndef _RTE_RAWDEV_PMD_H_ 6 #define _RTE_RAWDEV_PMD_H_ 18 #include <dev_driver.h> 29 extern int librawdev_logtype;
30 #define RTE_LOGTYPE_RAWDEV librawdev_logtype 33 #define RTE_RDEV_LOG(level, ...) \ 34 RTE_LOG_LINE_PREFIX(level, RAWDEV, "%s(): ", __func__, __VA_ARGS__) 36 #define RTE_RDEV_ERR(...) \ 37 RTE_RDEV_LOG(ERR, __VA_ARGS__) 39 #define RTE_RDEV_DEBUG(...) \ 40 RTE_RDEV_LOG(DEBUG, __VA_ARGS__) 42 #define RTE_RDEV_INFO(...) \ 43 RTE_RDEV_LOG(INFO, __VA_ARGS__) 46 #define RTE_RAWDEV_VALID_DEVID_OR_ERR_RET(dev_id, retval) do { \ 47 if (!rte_rawdev_pmd_is_valid_dev((dev_id))) { \ 48 RTE_RDEV_ERR("Invalid dev_id=%d", dev_id); \ 53 #define RTE_RAWDEV_VALID_DEVID_OR_RET(dev_id) do { \ 54 if (!rte_rawdev_pmd_is_valid_dev((dev_id))) { \ 55 RTE_RDEV_ERR("Invalid dev_id=%d", dev_id); \ 60 #define RTE_RAWDEV_DETACHED (0) 61 #define RTE_RAWDEV_ATTACHED (1) 69 struct rte_rawdev_global {
74 extern struct rte_rawdev *rte_rawdevs;
86 static inline struct rte_rawdev *
89 struct rte_rawdev *dev;
95 for (i = 0; i < RTE_RAWDEV_MAX_DEVS; i++) {
96 dev = &rte_rawdevs[i];
97 if ((dev->attached == RTE_RAWDEV_ATTACHED) &&
98 (strcmp(dev->name, name) == 0))
114 static inline struct rte_rawdev *
117 struct rte_rawdev *dev;
119 if (dev_id >= RTE_RAWDEV_MAX_DEVS)
122 dev = &rte_rawdevs[dev_id];
123 if (dev->attached == RTE_RAWDEV_ATTACHED)
138 static inline unsigned 141 struct rte_rawdev *dev;
143 if (dev_id >= RTE_RAWDEV_MAX_DEVS)
146 dev = &rte_rawdevs[dev_id];
147 if (dev->attached != RTE_RAWDEV_ATTACHED)
173 rte_rawdev_obj_t dev_info,
174 size_t dev_private_size);
190 rte_rawdev_obj_t config,
252 rte_rawdev_obj_t queue_conf,
253 size_t queue_conf_size);
272 rte_rawdev_obj_t queue_conf,
273 size_t queue_conf_size);
326 struct rte_rawdev_buf **buffers,
328 rte_rawdev_obj_t context);
351 struct rte_rawdev_buf **buffers,
353 rte_rawdev_obj_t context);
384 const char *attr_name,
385 uint64_t *attr_value);
402 const char *attr_name,
403 const uint64_t attr_value);
422 const unsigned int ids[], uint64_t values[],
unsigned int n);
428 const uint32_t ids[],
482 rte_rawdev_obj_t status_info);
496 rte_rawdev_obj_t version_info);
513 rte_rawdev_obj_t firmware_buf);
int(* rawdev_xstats_get_t)(const struct rte_rawdev *dev, const unsigned int ids[], uint64_t values[], unsigned int n)
int(* rawdev_info_get_t)(struct rte_rawdev *dev, rte_rawdev_obj_t dev_info, size_t dev_private_size)
int(* rawdev_set_attr_t)(struct rte_rawdev *dev, const char *attr_name, const uint64_t attr_value)
rawdev_dequeue_bufs_t dequeue_bufs
rawdev_xstats_get_t xstats_get
int(* rawdev_get_attr_t)(struct rte_rawdev *dev, const char *attr_name, uint64_t *attr_value)
int(* rawdev_start_t)(struct rte_rawdev *dev)
rawdev_info_get_t dev_info_get
static unsigned rte_rawdev_pmd_is_valid_dev(uint8_t dev_id)
int rte_rawdev_pmd_uninit(const char *name)
int(* rawdev_xstats_reset_t)(struct rte_rawdev *dev, const uint32_t ids[], uint32_t nb_ids)
int rte_rawdev_pmd_release(struct rte_rawdev *rawdev)
int(* rawdev_firmware_version_get_t)(struct rte_rawdev *dev, rte_rawdev_obj_t version_info)
struct rte_rawdev * rte_rawdev_pmd_allocate(const char *name, size_t dev_private_size, int socket_id)
rawdev_firmware_version_get_t firmware_version_get
rawdev_xstats_reset_t xstats_reset
int(* rawdev_queue_release_t)(struct rte_rawdev *dev, uint16_t queue_id)
static struct rte_rawdev * rte_rawdev_pmd_get_dev(uint8_t dev_id)
rawdev_queue_conf_get_t queue_def_conf
int(* rawdev_firmware_load_t)(struct rte_rawdev *dev, rte_rawdev_obj_t firmware_buf)
rawdev_configure_t dev_configure
int(* rawdev_dequeue_bufs_t)(struct rte_rawdev *dev, struct rte_rawdev_buf **buffers, unsigned int count, rte_rawdev_obj_t context)
int(* rawdev_selftest_t)(uint16_t dev_id)
rawdev_queue_count_t queue_count
int(* rawdev_queue_conf_get_t)(struct rte_rawdev *dev, uint16_t queue_id, rte_rawdev_obj_t queue_conf, size_t queue_conf_size)
int(* rawdev_firmware_unload_t)(struct rte_rawdev *dev)
uint16_t(* rawdev_queue_count_t)(struct rte_rawdev *dev)
struct rte_rawdev * rte_rawdev_pmd_init(const char *name, size_t dev_private_size, int socket_id)
int(* rawdev_close_t)(struct rte_rawdev *dev)
rawdev_xstats_get_by_name_t xstats_get_by_name
rawdev_firmware_load_t firmware_load
int(* rawdev_xstats_get_names_t)(const struct rte_rawdev *dev, struct rte_rawdev_xstats_name *xstats_names, unsigned int size)
uint64_t(* rawdev_xstats_get_by_name_t)(const struct rte_rawdev *dev, const char *name, unsigned int *id)
rawdev_set_attr_t attr_set
rawdev_queue_release_t queue_release
void(* rawdev_stop_t)(struct rte_rawdev *dev)
rawdev_queue_setup_t queue_setup
int(* rawdev_configure_t)(const struct rte_rawdev *dev, rte_rawdev_obj_t config, size_t config_size)
rawdev_xstats_get_names_t xstats_get_names
rawdev_get_attr_t attr_get
int(* rawdev_reset_t)(struct rte_rawdev *dev)
rawdev_firmware_status_get_t firmware_status_get
rawdev_enqueue_bufs_t enqueue_bufs
int(* rawdev_firmware_status_get_t)(struct rte_rawdev *dev, rte_rawdev_obj_t status_info)
static struct rte_rawdev * rte_rawdev_pmd_get_named_dev(const char *name)
int(* rawdev_enqueue_bufs_t)(struct rte_rawdev *dev, struct rte_rawdev_buf **buffers, unsigned int count, rte_rawdev_obj_t context)
int(* rawdev_dump_t)(struct rte_rawdev *dev, FILE *f)
rawdev_firmware_unload_t firmware_unload
int(* rawdev_queue_setup_t)(struct rte_rawdev *dev, uint16_t queue_id, rte_rawdev_obj_t queue_conf, size_t queue_conf_size)