Lines Matching refs:dev

39 #define VALID_DEV_OR_RET_ERR(dev, dev_id) do { \  argument
40 if (dev == NULL) { \
47 #define VALID_DEV_OPS_OR_RET_ERR(dev, dev_id) do { \ argument
48 if (dev->dev_ops == NULL) { \
65 #define VALID_QUEUE_OR_RET_ERR(queue_id, dev) do { \ argument
66 if (queue_id >= dev->data->num_queues) { \
68 queue_id, dev->data->dev_id); \
276 struct rte_bbdev *dev = get_dev(i); in rte_bbdev_get_named_dev() local
277 if (dev && (strncmp(dev->data->name, in rte_bbdev_get_named_dev()
279 return dev; in rte_bbdev_get_named_dev()
316 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_setup_queues() local
317 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_setup_queues()
319 VALID_DEV_OPS_OR_RET_ERR(dev, dev_id); in rte_bbdev_setup_queues()
321 if (dev->data->started) { in rte_bbdev_setup_queues()
329 VALID_FUNC_OR_RET_ERR(dev->dev_ops->info_get, dev_id); in rte_bbdev_setup_queues()
331 dev->dev_ops->info_get(dev, &dev_info); in rte_bbdev_setup_queues()
341 if (dev->data->queues != NULL) { in rte_bbdev_setup_queues()
342 VALID_FUNC_OR_RET_ERR(dev->dev_ops->queue_release, dev_id); in rte_bbdev_setup_queues()
343 for (i = 0; i < dev->data->num_queues; i++) { in rte_bbdev_setup_queues()
344 int ret = dev->dev_ops->queue_release(dev, i); in rte_bbdev_setup_queues()
353 if (dev->dev_ops->close) { in rte_bbdev_setup_queues()
354 ret = dev->dev_ops->close(dev); in rte_bbdev_setup_queues()
362 rte_free(dev->data->queues); in rte_bbdev_setup_queues()
366 dev->data->queues = rte_calloc_socket(DEV_NAME, num_queues, in rte_bbdev_setup_queues()
367 sizeof(dev->data->queues[0]), RTE_CACHE_LINE_SIZE, in rte_bbdev_setup_queues()
368 dev->data->socket_id); in rte_bbdev_setup_queues()
369 if (dev->data->queues == NULL) { in rte_bbdev_setup_queues()
372 num_queues, dev_id, dev->data->socket_id); in rte_bbdev_setup_queues()
376 dev->data->num_queues = num_queues; in rte_bbdev_setup_queues()
379 if (dev->dev_ops->setup_queues) { in rte_bbdev_setup_queues()
380 ret = dev->dev_ops->setup_queues(dev, num_queues, socket_id); in rte_bbdev_setup_queues()
394 dev->data->num_queues = 0; in rte_bbdev_setup_queues()
395 rte_free(dev->data->queues); in rte_bbdev_setup_queues()
396 dev->data->queues = NULL; in rte_bbdev_setup_queues()
404 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_intr_enable() local
405 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_intr_enable()
407 VALID_DEV_OPS_OR_RET_ERR(dev, dev_id); in rte_bbdev_intr_enable()
409 if (dev->data->started) { in rte_bbdev_intr_enable()
416 if (dev->dev_ops->intr_enable) { in rte_bbdev_intr_enable()
417 ret = dev->dev_ops->intr_enable(dev); in rte_bbdev_intr_enable()
438 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_queue_configure() local
442 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_queue_configure()
444 VALID_DEV_OPS_OR_RET_ERR(dev, dev_id); in rte_bbdev_queue_configure()
446 VALID_QUEUE_OR_RET_ERR(queue_id, dev); in rte_bbdev_queue_configure()
448 if (dev->data->queues[queue_id].started || dev->data->started) { in rte_bbdev_queue_configure()
455 VALID_FUNC_OR_RET_ERR(dev->dev_ops->queue_release, dev_id); in rte_bbdev_queue_configure()
456 VALID_FUNC_OR_RET_ERR(dev->dev_ops->queue_setup, dev_id); in rte_bbdev_queue_configure()
459 VALID_FUNC_OR_RET_ERR(dev->dev_ops->info_get, dev_id); in rte_bbdev_queue_configure()
461 dev->dev_ops->info_get(dev, &dev_info); in rte_bbdev_queue_configure()
514 if (dev->data->queues[queue_id].queue_private != NULL) { in rte_bbdev_queue_configure()
515 ret = dev->dev_ops->queue_release(dev, queue_id); in rte_bbdev_queue_configure()
524 ret = dev->dev_ops->queue_setup(dev, queue_id, (conf != NULL) ? in rte_bbdev_queue_configure()
535 stored_conf = &dev->data->queues[queue_id].conf; in rte_bbdev_queue_configure()
555 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_start() local
556 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_start()
558 VALID_DEV_OPS_OR_RET_ERR(dev, dev_id); in rte_bbdev_start()
560 if (dev->data->started) { in rte_bbdev_start()
565 if (dev->dev_ops->start) { in rte_bbdev_start()
566 int ret = dev->dev_ops->start(dev); in rte_bbdev_start()
574 for (i = 0; i < dev->data->num_queues; i++) in rte_bbdev_start()
575 if (!dev->data->queues[i].conf.deferred_start) in rte_bbdev_start()
576 dev->data->queues[i].started = true; in rte_bbdev_start()
577 dev->data->started = true; in rte_bbdev_start()
586 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_stop() local
587 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_stop()
589 VALID_DEV_OPS_OR_RET_ERR(dev, dev_id); in rte_bbdev_stop()
591 if (!dev->data->started) { in rte_bbdev_stop()
596 if (dev->dev_ops->stop) in rte_bbdev_stop()
597 dev->dev_ops->stop(dev); in rte_bbdev_stop()
598 dev->data->started = false; in rte_bbdev_stop()
609 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_close() local
610 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_close()
612 VALID_DEV_OPS_OR_RET_ERR(dev, dev_id); in rte_bbdev_close()
614 if (dev->data->started) { in rte_bbdev_close()
623 for (i = 0; i < dev->data->num_queues; i++) { in rte_bbdev_close()
624 ret = dev->dev_ops->queue_release(dev, i); in rte_bbdev_close()
631 rte_free(dev->data->queues); in rte_bbdev_close()
633 if (dev->dev_ops->close) { in rte_bbdev_close()
634 ret = dev->dev_ops->close(dev); in rte_bbdev_close()
642 dev->data->queues = NULL; in rte_bbdev_close()
643 dev->data->num_queues = 0; in rte_bbdev_close()
652 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_queue_start() local
653 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_queue_start()
655 VALID_DEV_OPS_OR_RET_ERR(dev, dev_id); in rte_bbdev_queue_start()
657 VALID_QUEUE_OR_RET_ERR(queue_id, dev); in rte_bbdev_queue_start()
659 if (dev->data->queues[queue_id].started) { in rte_bbdev_queue_start()
665 if (dev->dev_ops->queue_start) { in rte_bbdev_queue_start()
666 int ret = dev->dev_ops->queue_start(dev, queue_id); in rte_bbdev_queue_start()
673 dev->data->queues[queue_id].started = true; in rte_bbdev_queue_start()
682 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_queue_stop() local
683 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_queue_stop()
685 VALID_DEV_OPS_OR_RET_ERR(dev, dev_id); in rte_bbdev_queue_stop()
687 VALID_QUEUE_OR_RET_ERR(queue_id, dev); in rte_bbdev_queue_stop()
689 if (!dev->data->queues[queue_id].started) { in rte_bbdev_queue_stop()
695 if (dev->dev_ops->queue_stop) { in rte_bbdev_queue_stop()
696 int ret = dev->dev_ops->queue_stop(dev, queue_id); in rte_bbdev_queue_stop()
703 dev->data->queues[queue_id].started = false; in rte_bbdev_queue_stop()
711 get_stats_from_queues(struct rte_bbdev *dev, struct rte_bbdev_stats *stats) in get_stats_from_queues() argument
714 for (q_id = 0; q_id < dev->data->num_queues; q_id++) { in get_stats_from_queues()
716 &dev->data->queues[q_id].queue_stats; in get_stats_from_queues()
723 rte_bbdev_log_debug("Got stats on %u", dev->data->dev_id); in get_stats_from_queues()
727 reset_stats_in_queues(struct rte_bbdev *dev) in reset_stats_in_queues() argument
730 for (q_id = 0; q_id < dev->data->num_queues; q_id++) { in reset_stats_in_queues()
732 &dev->data->queues[q_id].queue_stats; in reset_stats_in_queues()
736 rte_bbdev_log_debug("Reset stats on %u", dev->data->dev_id); in reset_stats_in_queues()
742 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_stats_get() local
743 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_stats_get()
745 VALID_DEV_OPS_OR_RET_ERR(dev, dev_id); in rte_bbdev_stats_get()
753 if (dev->dev_ops->stats_get != NULL) in rte_bbdev_stats_get()
754 dev->dev_ops->stats_get(dev, stats); in rte_bbdev_stats_get()
756 get_stats_from_queues(dev, stats); in rte_bbdev_stats_get()
765 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_stats_reset() local
766 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_stats_reset()
768 VALID_DEV_OPS_OR_RET_ERR(dev, dev_id); in rte_bbdev_stats_reset()
770 if (dev->dev_ops->stats_reset != NULL) in rte_bbdev_stats_reset()
771 dev->dev_ops->stats_reset(dev); in rte_bbdev_stats_reset()
773 reset_stats_in_queues(dev); in rte_bbdev_stats_reset()
782 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_info_get() local
783 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_info_get()
785 VALID_FUNC_OR_RET_ERR(dev->dev_ops->info_get, dev_id); in rte_bbdev_info_get()
794 dev_info->dev_name = dev->data->name; in rte_bbdev_info_get()
795 dev_info->num_queues = dev->data->num_queues; in rte_bbdev_info_get()
796 dev_info->device = dev->device; in rte_bbdev_info_get()
797 dev_info->socket_id = dev->data->socket_id; in rte_bbdev_info_get()
798 dev_info->started = dev->data->started; in rte_bbdev_info_get()
801 dev->dev_ops->info_get(dev, &dev_info->drv); in rte_bbdev_info_get()
811 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_queue_info_get() local
812 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_queue_info_get()
814 VALID_QUEUE_OR_RET_ERR(queue_id, dev); in rte_bbdev_queue_info_get()
823 queue_info->conf = dev->data->queues[queue_id].conf; in rte_bbdev_queue_info_get()
824 queue_info->started = dev->data->queues[queue_id].started; in rte_bbdev_queue_info_get()
931 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_callback_register() local
932 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_callback_register()
948 TAILQ_FOREACH(user_cb, &(dev->list_cbs), next) { in rte_bbdev_callback_register()
963 TAILQ_INSERT_TAIL(&(dev->list_cbs), user_cb, next); in rte_bbdev_callback_register()
977 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_callback_unregister() local
978 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_callback_unregister()
993 dev = &rte_bbdev_devices[dev_id]; in rte_bbdev_callback_unregister()
996 for (cb = TAILQ_FIRST(&dev->list_cbs); cb != NULL; cb = next) { in rte_bbdev_callback_unregister()
1006 TAILQ_REMOVE(&(dev->list_cbs), cb, next); in rte_bbdev_callback_unregister()
1017 rte_bbdev_pmd_callback_process(struct rte_bbdev *dev, in rte_bbdev_pmd_callback_process() argument
1023 if (dev == NULL) { in rte_bbdev_pmd_callback_process()
1028 if (dev->data == NULL) { in rte_bbdev_pmd_callback_process()
1041 TAILQ_FOREACH(cb_lst, &(dev->list_cbs), next) { in rte_bbdev_pmd_callback_process()
1050 dev_cb.cb_fn(dev->data->dev_id, dev_cb.event, in rte_bbdev_pmd_callback_process()
1061 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_queue_intr_enable() local
1062 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_queue_intr_enable()
1063 VALID_QUEUE_OR_RET_ERR(queue_id, dev); in rte_bbdev_queue_intr_enable()
1064 VALID_DEV_OPS_OR_RET_ERR(dev, dev_id); in rte_bbdev_queue_intr_enable()
1065 VALID_FUNC_OR_RET_ERR(dev->dev_ops->queue_intr_enable, dev_id); in rte_bbdev_queue_intr_enable()
1066 return dev->dev_ops->queue_intr_enable(dev, queue_id); in rte_bbdev_queue_intr_enable()
1072 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_queue_intr_disable() local
1073 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_queue_intr_disable()
1074 VALID_QUEUE_OR_RET_ERR(queue_id, dev); in rte_bbdev_queue_intr_disable()
1075 VALID_DEV_OPS_OR_RET_ERR(dev, dev_id); in rte_bbdev_queue_intr_disable()
1076 VALID_FUNC_OR_RET_ERR(dev->dev_ops->queue_intr_disable, dev_id); in rte_bbdev_queue_intr_disable()
1077 return dev->dev_ops->queue_intr_disable(dev, queue_id); in rte_bbdev_queue_intr_disable()
1085 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_queue_intr_ctl() local
1089 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_queue_intr_ctl()
1090 VALID_QUEUE_OR_RET_ERR(queue_id, dev); in rte_bbdev_queue_intr_ctl()
1092 intr_handle = dev->intr_handle; in rte_bbdev_queue_intr_ctl()