| 323 | } |
| 324 | |
| 325 | static int |
| 326 | sw_queue_setup(struct rte_eventdev *dev, uint8_t queue_id, |
| 327 | const struct rte_event_queue_conf *conf) |
| 328 | { |
| 329 | int type; |
| 330 | |
| 331 | type = conf->schedule_type; |
| 332 | |
| 333 | if (RTE_EVENT_QUEUE_CFG_SINGLE_LINK & conf->event_queue_cfg) { |
| 334 | type = SW_SCHED_TYPE_DIRECT; |
| 335 | } else if (RTE_EVENT_QUEUE_CFG_ALL_TYPES |
| 336 | & conf->event_queue_cfg) { |
| 337 | SW_LOG_ERR("QUEUE_CFG_ALL_TYPES not supported"); |
| 338 | return -ENOTSUP; |
| 339 | } |
| 340 | |
| 341 | struct sw_evdev *sw = sw_pmd_priv(dev); |
| 342 | |
| 343 | if (sw->qids[queue_id].initialized) |
| 344 | sw_queue_release(dev, queue_id); |
| 345 | |
| 346 | return qid_init(sw, queue_id, type, conf); |
| 347 | } |
| 348 | |
| 349 | static void |
| 350 | sw_init_qid_iqs(struct sw_evdev *sw) |
nothing calls this directly
no test coverage detected