| 1463 | } |
| 1464 | |
| 1465 | int |
| 1466 | rte_event_dev_start(uint8_t dev_id) |
| 1467 | { |
| 1468 | struct rte_eventdev *dev; |
| 1469 | int diag; |
| 1470 | |
| 1471 | RTE_EDEV_LOG_DEBUG("Start dev_id=%" PRIu8, dev_id); |
| 1472 | |
| 1473 | RTE_EVENTDEV_VALID_DEVID_OR_ERR_RET(dev_id, -EINVAL); |
| 1474 | dev = &rte_eventdevs[dev_id]; |
| 1475 | if (*dev->dev_ops->dev_start == NULL) |
| 1476 | return -ENOTSUP; |
| 1477 | |
| 1478 | if (dev->data->dev_started != 0) { |
| 1479 | RTE_EDEV_LOG_ERR("Device with dev_id=%" PRIu8 "already started", |
| 1480 | dev_id); |
| 1481 | return 0; |
| 1482 | } |
| 1483 | |
| 1484 | diag = (*dev->dev_ops->dev_start)(dev); |
| 1485 | rte_eventdev_trace_start(dev_id, diag); |
| 1486 | if (diag == 0) |
| 1487 | dev->data->dev_started = 1; |
| 1488 | else |
| 1489 | return diag; |
| 1490 | |
| 1491 | event_dev_fp_ops_set(rte_event_fp_ops + dev_id, dev); |
| 1492 | |
| 1493 | return 0; |
| 1494 | } |
| 1495 | |
| 1496 | int |
| 1497 | rte_event_dev_stop_flush_callback_register(uint8_t dev_id, |