| 672 | } |
| 673 | |
| 674 | static void |
| 675 | ssovf_stop(struct rte_eventdev *dev) |
| 676 | { |
| 677 | struct ssovf_evdev *edev = ssovf_pmd_priv(dev); |
| 678 | struct ssows *ws; |
| 679 | uint8_t *base; |
| 680 | uint8_t i; |
| 681 | |
| 682 | ssovf_func_trace(); |
| 683 | for (i = 0; i < edev->nb_event_ports; i++) { |
| 684 | ws = dev->data->ports[i]; |
| 685 | ssows_reset(ws); |
| 686 | ws->swtag_req = 0; |
| 687 | } |
| 688 | |
| 689 | for (i = 0; i < edev->nb_event_queues; i++) { |
| 690 | /* Consume all the events through HWS0 */ |
| 691 | ssows_flush_events(dev->data->ports[0], i, |
| 692 | ssows_handle_event, dev); |
| 693 | |
| 694 | base = ssovf_bar(OCTEONTX_SSO_GROUP, i, 0); |
| 695 | base += SSO_VHGRP_QCTL; |
| 696 | ssovf_write64(0, base); /* Disable SSO group */ |
| 697 | } |
| 698 | } |
| 699 | |
| 700 | static int |
| 701 | ssovf_close(struct rte_eventdev *dev) |
nothing calls this directly
no test coverage detected