Lines Matching refs:dev

43 #define VALID_DEV_OR_RET_ERR(dev, dev_id) do { \  argument
44 if (dev == NULL) { \
51 #define VALID_DEV_OPS_OR_RET_ERR(dev, dev_id) do { \ argument
52 if (dev->dev_ops == NULL) { \
69 #define VALID_QUEUE_OR_RET_ERR(queue_id, dev) do { \ argument
70 if (queue_id >= dev->data->num_queues) { \
72 queue_id, dev->data->dev_id); \
280 struct rte_bbdev *dev = get_dev(i); in rte_bbdev_get_named_dev() local
281 if (dev && (strncmp(dev->data->name, in rte_bbdev_get_named_dev()
283 return dev; in rte_bbdev_get_named_dev()
320 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_setup_queues() local
321 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_setup_queues()
323 VALID_DEV_OPS_OR_RET_ERR(dev, dev_id); in rte_bbdev_setup_queues()
325 if (dev->data->started) { in rte_bbdev_setup_queues()
333 VALID_FUNC_OR_RET_ERR(dev->dev_ops->info_get, dev_id); in rte_bbdev_setup_queues()
335 dev->dev_ops->info_get(dev, &dev_info); in rte_bbdev_setup_queues()
345 if (dev->data->queues != NULL) { in rte_bbdev_setup_queues()
346 VALID_FUNC_OR_RET_ERR(dev->dev_ops->queue_release, dev_id); in rte_bbdev_setup_queues()
347 for (i = 0; i < dev->data->num_queues; i++) { in rte_bbdev_setup_queues()
348 int ret = dev->dev_ops->queue_release(dev, i); in rte_bbdev_setup_queues()
357 if (dev->dev_ops->close) { in rte_bbdev_setup_queues()
358 ret = dev->dev_ops->close(dev); in rte_bbdev_setup_queues()
366 rte_free(dev->data->queues); in rte_bbdev_setup_queues()
370 dev->data->queues = rte_calloc_socket(DEV_NAME, num_queues, in rte_bbdev_setup_queues()
371 sizeof(dev->data->queues[0]), RTE_CACHE_LINE_SIZE, in rte_bbdev_setup_queues()
372 dev->data->socket_id); in rte_bbdev_setup_queues()
373 if (dev->data->queues == NULL) { in rte_bbdev_setup_queues()
376 num_queues, dev_id, dev->data->socket_id); in rte_bbdev_setup_queues()
380 dev->data->num_queues = num_queues; in rte_bbdev_setup_queues()
383 if (dev->dev_ops->setup_queues) { in rte_bbdev_setup_queues()
384 ret = dev->dev_ops->setup_queues(dev, num_queues, socket_id); in rte_bbdev_setup_queues()
398 dev->data->num_queues = 0; in rte_bbdev_setup_queues()
399 rte_free(dev->data->queues); in rte_bbdev_setup_queues()
400 dev->data->queues = NULL; in rte_bbdev_setup_queues()
408 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_intr_enable() local
409 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_intr_enable()
411 VALID_DEV_OPS_OR_RET_ERR(dev, dev_id); in rte_bbdev_intr_enable()
413 if (dev->data->started) { in rte_bbdev_intr_enable()
420 if (dev->dev_ops->intr_enable) { in rte_bbdev_intr_enable()
421 ret = dev->dev_ops->intr_enable(dev); in rte_bbdev_intr_enable()
442 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_queue_configure() local
446 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_queue_configure()
448 VALID_DEV_OPS_OR_RET_ERR(dev, dev_id); in rte_bbdev_queue_configure()
450 VALID_QUEUE_OR_RET_ERR(queue_id, dev); in rte_bbdev_queue_configure()
452 if (dev->data->queues[queue_id].started || dev->data->started) { in rte_bbdev_queue_configure()
459 VALID_FUNC_OR_RET_ERR(dev->dev_ops->queue_release, dev_id); in rte_bbdev_queue_configure()
460 VALID_FUNC_OR_RET_ERR(dev->dev_ops->queue_setup, dev_id); in rte_bbdev_queue_configure()
463 VALID_FUNC_OR_RET_ERR(dev->dev_ops->info_get, dev_id); in rte_bbdev_queue_configure()
465 dev->dev_ops->info_get(dev, &dev_info); in rte_bbdev_queue_configure()
518 if (dev->data->queues[queue_id].queue_private != NULL) { in rte_bbdev_queue_configure()
519 ret = dev->dev_ops->queue_release(dev, queue_id); in rte_bbdev_queue_configure()
528 ret = dev->dev_ops->queue_setup(dev, queue_id, (conf != NULL) ? in rte_bbdev_queue_configure()
538 stored_conf = &dev->data->queues[queue_id].conf; in rte_bbdev_queue_configure()
558 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_start() local
559 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_start()
561 VALID_DEV_OPS_OR_RET_ERR(dev, dev_id); in rte_bbdev_start()
563 if (dev->data->started) { in rte_bbdev_start()
568 if (dev->dev_ops->start) { in rte_bbdev_start()
569 int ret = dev->dev_ops->start(dev); in rte_bbdev_start()
577 for (i = 0; i < dev->data->num_queues; i++) in rte_bbdev_start()
578 if (!dev->data->queues[i].conf.deferred_start) in rte_bbdev_start()
579 dev->data->queues[i].started = true; in rte_bbdev_start()
580 dev->data->started = true; in rte_bbdev_start()
589 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_stop() local
590 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_stop()
592 VALID_DEV_OPS_OR_RET_ERR(dev, dev_id); in rte_bbdev_stop()
594 if (!dev->data->started) { in rte_bbdev_stop()
599 if (dev->dev_ops->stop) in rte_bbdev_stop()
600 dev->dev_ops->stop(dev); in rte_bbdev_stop()
601 dev->data->started = false; in rte_bbdev_stop()
612 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_close() local
613 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_close()
615 VALID_DEV_OPS_OR_RET_ERR(dev, dev_id); in rte_bbdev_close()
617 if (dev->data->started) { in rte_bbdev_close()
626 for (i = 0; i < dev->data->num_queues; i++) { in rte_bbdev_close()
627 ret = dev->dev_ops->queue_release(dev, i); in rte_bbdev_close()
634 rte_free(dev->data->queues); in rte_bbdev_close()
636 if (dev->dev_ops->close) { in rte_bbdev_close()
637 ret = dev->dev_ops->close(dev); in rte_bbdev_close()
645 dev->data->queues = NULL; in rte_bbdev_close()
646 dev->data->num_queues = 0; in rte_bbdev_close()
655 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_queue_start() local
656 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_queue_start()
658 VALID_DEV_OPS_OR_RET_ERR(dev, dev_id); in rte_bbdev_queue_start()
660 VALID_QUEUE_OR_RET_ERR(queue_id, dev); in rte_bbdev_queue_start()
662 if (dev->data->queues[queue_id].started) { in rte_bbdev_queue_start()
668 if (dev->dev_ops->queue_start) { in rte_bbdev_queue_start()
669 int ret = dev->dev_ops->queue_start(dev, queue_id); in rte_bbdev_queue_start()
676 dev->data->queues[queue_id].started = true; in rte_bbdev_queue_start()
685 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_queue_stop() local
686 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_queue_stop()
688 VALID_DEV_OPS_OR_RET_ERR(dev, dev_id); in rte_bbdev_queue_stop()
690 VALID_QUEUE_OR_RET_ERR(queue_id, dev); in rte_bbdev_queue_stop()
692 if (!dev->data->queues[queue_id].started) { in rte_bbdev_queue_stop()
698 if (dev->dev_ops->queue_stop) { in rte_bbdev_queue_stop()
699 int ret = dev->dev_ops->queue_stop(dev, queue_id); in rte_bbdev_queue_stop()
706 dev->data->queues[queue_id].started = false; in rte_bbdev_queue_stop()
714 get_stats_from_queues(struct rte_bbdev *dev, struct rte_bbdev_stats *stats) in get_stats_from_queues() argument
717 for (q_id = 0; q_id < dev->data->num_queues; q_id++) { in get_stats_from_queues()
719 &dev->data->queues[q_id].queue_stats; in get_stats_from_queues()
726 rte_bbdev_log_debug("Got stats on %u", dev->data->dev_id); in get_stats_from_queues()
730 reset_stats_in_queues(struct rte_bbdev *dev) in reset_stats_in_queues() argument
733 for (q_id = 0; q_id < dev->data->num_queues; q_id++) { in reset_stats_in_queues()
735 &dev->data->queues[q_id].queue_stats; in reset_stats_in_queues()
739 rte_bbdev_log_debug("Reset stats on %u", dev->data->dev_id); in reset_stats_in_queues()
745 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_stats_get() local
746 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_stats_get()
748 VALID_DEV_OPS_OR_RET_ERR(dev, dev_id); in rte_bbdev_stats_get()
756 if (dev->dev_ops->stats_get != NULL) in rte_bbdev_stats_get()
757 dev->dev_ops->stats_get(dev, stats); in rte_bbdev_stats_get()
759 get_stats_from_queues(dev, stats); in rte_bbdev_stats_get()
768 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_stats_reset() local
769 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_stats_reset()
771 VALID_DEV_OPS_OR_RET_ERR(dev, dev_id); in rte_bbdev_stats_reset()
773 if (dev->dev_ops->stats_reset != NULL) in rte_bbdev_stats_reset()
774 dev->dev_ops->stats_reset(dev); in rte_bbdev_stats_reset()
776 reset_stats_in_queues(dev); in rte_bbdev_stats_reset()
785 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_info_get() local
786 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_info_get()
788 VALID_FUNC_OR_RET_ERR(dev->dev_ops->info_get, dev_id); in rte_bbdev_info_get()
797 dev_info->dev_name = dev->data->name; in rte_bbdev_info_get()
798 dev_info->num_queues = dev->data->num_queues; in rte_bbdev_info_get()
799 dev_info->device = dev->device; in rte_bbdev_info_get()
800 dev_info->socket_id = dev->data->socket_id; in rte_bbdev_info_get()
801 dev_info->started = dev->data->started; in rte_bbdev_info_get()
804 dev->dev_ops->info_get(dev, &dev_info->drv); in rte_bbdev_info_get()
814 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_queue_info_get() local
815 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_queue_info_get()
817 VALID_QUEUE_OR_RET_ERR(queue_id, dev); in rte_bbdev_queue_info_get()
826 queue_info->conf = dev->data->queues[queue_id].conf; in rte_bbdev_queue_info_get()
827 queue_info->started = dev->data->queues[queue_id].started; in rte_bbdev_queue_info_get()
934 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_callback_register() local
935 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_callback_register()
951 TAILQ_FOREACH(user_cb, &(dev->list_cbs), next) { in rte_bbdev_callback_register()
966 TAILQ_INSERT_TAIL(&(dev->list_cbs), user_cb, next); in rte_bbdev_callback_register()
980 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_callback_unregister() local
981 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_callback_unregister()
996 dev = &rte_bbdev_devices[dev_id]; in rte_bbdev_callback_unregister()
999 for (cb = TAILQ_FIRST(&dev->list_cbs); cb != NULL; cb = next) { in rte_bbdev_callback_unregister()
1009 TAILQ_REMOVE(&(dev->list_cbs), cb, next); in rte_bbdev_callback_unregister()
1020 rte_bbdev_pmd_callback_process(struct rte_bbdev *dev, in rte_bbdev_pmd_callback_process() argument
1026 if (dev == NULL) { in rte_bbdev_pmd_callback_process()
1031 if (dev->data == NULL) { in rte_bbdev_pmd_callback_process()
1044 TAILQ_FOREACH(cb_lst, &(dev->list_cbs), next) { in rte_bbdev_pmd_callback_process()
1053 dev_cb.cb_fn(dev->data->dev_id, dev_cb.event, in rte_bbdev_pmd_callback_process()
1064 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_queue_intr_enable() local
1065 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_queue_intr_enable()
1066 VALID_QUEUE_OR_RET_ERR(queue_id, dev); in rte_bbdev_queue_intr_enable()
1067 VALID_DEV_OPS_OR_RET_ERR(dev, dev_id); in rte_bbdev_queue_intr_enable()
1068 VALID_FUNC_OR_RET_ERR(dev->dev_ops->queue_intr_enable, dev_id); in rte_bbdev_queue_intr_enable()
1069 return dev->dev_ops->queue_intr_enable(dev, queue_id); in rte_bbdev_queue_intr_enable()
1075 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_queue_intr_disable() local
1076 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_queue_intr_disable()
1077 VALID_QUEUE_OR_RET_ERR(queue_id, dev); in rte_bbdev_queue_intr_disable()
1078 VALID_DEV_OPS_OR_RET_ERR(dev, dev_id); in rte_bbdev_queue_intr_disable()
1079 VALID_FUNC_OR_RET_ERR(dev->dev_ops->queue_intr_disable, dev_id); in rte_bbdev_queue_intr_disable()
1080 return dev->dev_ops->queue_intr_disable(dev, queue_id); in rte_bbdev_queue_intr_disable()
1088 struct rte_bbdev *dev = get_dev(dev_id); in rte_bbdev_queue_intr_ctl() local
1092 VALID_DEV_OR_RET_ERR(dev, dev_id); in rte_bbdev_queue_intr_ctl()
1093 VALID_QUEUE_OR_RET_ERR(queue_id, dev); in rte_bbdev_queue_intr_ctl()
1095 intr_handle = dev->intr_handle; in rte_bbdev_queue_intr_ctl()