| 308 | } |
| 309 | |
| 310 | static int |
| 311 | ssovf_port_unlink(struct rte_eventdev *dev, void *port, uint8_t queues[], |
| 312 | uint16_t nb_unlinks) |
| 313 | { |
| 314 | uint16_t unlink; |
| 315 | uint64_t val; |
| 316 | struct ssows *ws = port; |
| 317 | |
| 318 | ssovf_func_trace("port=%d nb_links=%d", ws->port, nb_unlinks); |
| 319 | RTE_SET_USED(dev); |
| 320 | |
| 321 | for (unlink = 0; unlink < nb_unlinks; unlink++) { |
| 322 | val = queues[unlink]; |
| 323 | val &= ~(1ULL << 24); /* Clear membership */ |
| 324 | ssovf_write64(val, ws->base + SSOW_VHWS_GRPMSK_CHGX(0)); |
| 325 | } |
| 326 | return (int)nb_unlinks; |
| 327 | } |
| 328 | |
| 329 | static int |
| 330 | ssovf_timeout_ticks(struct rte_eventdev *dev, uint64_t ns, uint64_t *tmo_ticks) |