| 618 | } |
| 619 | |
| 620 | static int |
| 621 | eh_initialize_eventdev(struct eventmode_conf *em_conf) |
| 622 | { |
| 623 | struct rte_event_queue_conf eventq_conf = {0}; |
| 624 | struct rte_event_dev_info evdev_default_conf; |
| 625 | struct rte_event_dev_config eventdev_conf; |
| 626 | struct eventdev_params *eventdev_config; |
| 627 | int nb_eventdev = em_conf->nb_eventdev; |
| 628 | struct eh_event_link_info *link; |
| 629 | uint8_t *queue = NULL; |
| 630 | uint8_t eventdev_id; |
| 631 | int nb_eventqueue; |
| 632 | int ret, j; |
| 633 | uint8_t i; |
| 634 | |
| 635 | for (i = 0; i < nb_eventdev; i++) { |
| 636 | |
| 637 | /* Get eventdev config */ |
| 638 | eventdev_config = &(em_conf->eventdev_config[i]); |
| 639 | |
| 640 | /* Get event dev ID */ |
| 641 | eventdev_id = eventdev_config->eventdev_id; |
| 642 | |
| 643 | /* Get the number of queues */ |
| 644 | nb_eventqueue = eventdev_config->nb_eventqueue; |
| 645 | |
| 646 | /* Reset the default conf */ |
| 647 | memset(&evdev_default_conf, 0, |
| 648 | sizeof(struct rte_event_dev_info)); |
| 649 | |
| 650 | /* Get default conf of eventdev */ |
| 651 | ret = rte_event_dev_info_get(eventdev_id, &evdev_default_conf); |
| 652 | if (ret < 0) { |
| 653 | EH_LOG_ERR( |
| 654 | "Error in getting event device info[devID:%d]", |
| 655 | eventdev_id); |
| 656 | return ret; |
| 657 | } |
| 658 | |
| 659 | memset(&eventdev_conf, 0, sizeof(struct rte_event_dev_config)); |
| 660 | eventdev_conf.nb_events_limit = |
| 661 | evdev_default_conf.max_num_events; |
| 662 | eventdev_conf.nb_event_queues = nb_eventqueue; |
| 663 | eventdev_conf.nb_event_ports = |
| 664 | eventdev_config->nb_eventport; |
| 665 | eventdev_conf.nb_event_queue_flows = |
| 666 | evdev_default_conf.max_event_queue_flows; |
| 667 | eventdev_conf.nb_event_port_dequeue_depth = |
| 668 | evdev_default_conf.max_event_port_dequeue_depth; |
| 669 | eventdev_conf.nb_event_port_enqueue_depth = |
| 670 | evdev_default_conf.max_event_port_enqueue_depth; |
| 671 | |
| 672 | /* Configure event device */ |
| 673 | ret = rte_event_dev_configure(eventdev_id, &eventdev_conf); |
| 674 | if (ret < 0) { |
| 675 | EH_LOG_ERR("Error in configuring event device"); |
| 676 | return ret; |
| 677 | } |
no test coverage detected