| 634 | } |
| 635 | |
| 636 | static int |
| 637 | ssovf_start(struct rte_eventdev *dev) |
| 638 | { |
| 639 | struct ssovf_evdev *edev = ssovf_pmd_priv(dev); |
| 640 | struct ssows *ws; |
| 641 | uint8_t *base; |
| 642 | uint8_t i; |
| 643 | |
| 644 | ssovf_func_trace(); |
| 645 | for (i = 0; i < edev->nb_event_ports; i++) { |
| 646 | ws = dev->data->ports[i]; |
| 647 | ssows_reset(ws); |
| 648 | ws->swtag_req = 0; |
| 649 | } |
| 650 | |
| 651 | for (i = 0; i < edev->nb_event_queues; i++) { |
| 652 | /* Consume all the events through HWS0 */ |
| 653 | ssows_flush_events(dev->data->ports[0], i, NULL, NULL); |
| 654 | |
| 655 | base = ssovf_bar(OCTEONTX_SSO_GROUP, i, 0); |
| 656 | base += SSO_VHGRP_QCTL; |
| 657 | ssovf_write64(1, base); /* Enable SSO group */ |
| 658 | } |
| 659 | |
| 660 | ssovf_fastpath_fns_set(dev); |
| 661 | return 0; |
| 662 | } |
| 663 | |
| 664 | static void |
| 665 | ssows_handle_event(void *arg, struct rte_event event) |
nothing calls this directly
no test coverage detected