| 430 | } |
| 431 | |
| 432 | static int |
| 433 | configure_eventdev(void) |
| 434 | { |
| 435 | struct rte_event_queue_conf queue_conf; |
| 436 | struct rte_event_dev_config devconf; |
| 437 | struct rte_event_dev_info info; |
| 438 | uint32_t queue_count; |
| 439 | uint32_t port_count; |
| 440 | uint8_t qid; |
| 441 | int ret; |
| 442 | |
| 443 | if (!rte_event_dev_count()) { |
| 444 | /* If there is no hardware eventdev, or no software vdev was |
| 445 | * specified on the command line, create an instance of |
| 446 | * event_sw. |
| 447 | */ |
| 448 | LOG_DBG("Failed to find a valid event device... " |
| 449 | "testing with event_sw device\n"); |
| 450 | TEST_ASSERT_SUCCESS(rte_vdev_init("event_sw0", NULL), |
| 451 | "Error creating eventdev"); |
| 452 | evdev = rte_event_dev_get_dev_id("event_sw0"); |
| 453 | } |
| 454 | |
| 455 | ret = rte_event_dev_info_get(evdev, &info); |
| 456 | TEST_ASSERT_SUCCESS(ret, "Failed to get event dev info\n"); |
| 457 | |
| 458 | evdev_set_conf_values(&devconf, &info); |
| 459 | |
| 460 | ret = rte_event_dev_configure(evdev, &devconf); |
| 461 | TEST_ASSERT_SUCCESS(ret, "Failed to configure eventdev\n"); |
| 462 | |
| 463 | /* Set up event queue */ |
| 464 | ret = rte_event_dev_attr_get(evdev, RTE_EVENT_DEV_ATTR_QUEUE_COUNT, &queue_count); |
| 465 | TEST_ASSERT_SUCCESS(ret, "Queue count get failed\n"); |
| 466 | TEST_ASSERT_EQUAL(queue_count, 2, "Unexpected queue count\n"); |
| 467 | |
| 468 | qid = TEST_APP_EV_QUEUE_ID; |
| 469 | ret = rte_event_queue_setup(evdev, qid, NULL); |
| 470 | TEST_ASSERT_SUCCESS(ret, "Failed to setup queue=%d\n", qid); |
| 471 | |
| 472 | queue_conf.nb_atomic_flows = info.max_event_queue_flows; |
| 473 | queue_conf.nb_atomic_order_sequences = 32; |
| 474 | queue_conf.schedule_type = RTE_SCHED_TYPE_ATOMIC; |
| 475 | queue_conf.priority = RTE_EVENT_DEV_PRIORITY_HIGHEST; |
| 476 | queue_conf.event_queue_cfg = RTE_EVENT_QUEUE_CFG_SINGLE_LINK; |
| 477 | |
| 478 | qid = TEST_DMA_EV_QUEUE_ID; |
| 479 | ret = rte_event_queue_setup(evdev, qid, &queue_conf); |
| 480 | TEST_ASSERT_SUCCESS(ret, "Failed to setup queue=%u\n", qid); |
| 481 | |
| 482 | /* Set up event port */ |
| 483 | ret = rte_event_dev_attr_get(evdev, RTE_EVENT_DEV_ATTR_PORT_COUNT, |
| 484 | &port_count); |
| 485 | TEST_ASSERT_SUCCESS(ret, "Port count get failed\n"); |
| 486 | TEST_ASSERT_EQUAL(port_count, 1, "Unexpected port count\n"); |
| 487 | |
| 488 | ret = rte_event_port_setup(evdev, TEST_APP_PORT_ID, NULL); |
| 489 | TEST_ASSERT_SUCCESS(ret, "Failed to setup port=%d\n", |
no test coverage detected