| 332 | } |
| 333 | |
| 334 | void |
| 335 | ssovf_fastpath_fns_set(struct rte_eventdev *dev) |
| 336 | { |
| 337 | struct ssovf_evdev *edev = ssovf_pmd_priv(dev); |
| 338 | |
| 339 | dev->enqueue = ssows_enq; |
| 340 | dev->enqueue_burst = ssows_enq_burst; |
| 341 | dev->enqueue_new_burst = ssows_enq_new_burst; |
| 342 | dev->enqueue_forward_burst = ssows_enq_fwd_burst; |
| 343 | |
| 344 | dev->ca_enqueue = ssow_crypto_adapter_enqueue; |
| 345 | |
| 346 | const event_tx_adapter_enqueue_t ssow_txa_enqueue[2][2][2][2] = { |
| 347 | #define T(name, f3, f2, f1, f0, sz, flags) \ |
| 348 | [f3][f2][f1][f0] = sso_event_tx_adapter_enqueue_ ##name, |
| 349 | |
| 350 | SSO_TX_ADPTR_ENQ_FASTPATH_FUNC |
| 351 | #undef T |
| 352 | }; |
| 353 | |
| 354 | dev->txa_enqueue = ssow_txa_enqueue |
| 355 | [!!(edev->tx_offload_flags & OCCTX_TX_OFFLOAD_MBUF_NOFF_F)] |
| 356 | [!!(edev->tx_offload_flags & OCCTX_TX_OFFLOAD_OL3_OL4_CSUM_F)] |
| 357 | [!!(edev->tx_offload_flags & OCCTX_TX_OFFLOAD_L3_L4_CSUM_F)] |
| 358 | [!!(edev->tx_offload_flags & OCCTX_TX_MULTI_SEG_F)]; |
| 359 | |
| 360 | dev->txa_enqueue_same_dest = dev->txa_enqueue; |
| 361 | |
| 362 | /* Assigning dequeue func pointers */ |
| 363 | const event_dequeue_t ssow_deq[2][2][2] = { |
| 364 | #define R(name, f2, f1, f0, flags) \ |
| 365 | [f2][f1][f0] = ssows_deq_ ##name, |
| 366 | |
| 367 | SSO_RX_ADPTR_ENQ_FASTPATH_FUNC |
| 368 | #undef R |
| 369 | }; |
| 370 | |
| 371 | dev->dequeue = ssow_deq |
| 372 | [!!(edev->rx_offload_flags & OCCTX_RX_VLAN_FLTR_F)] |
| 373 | [!!(edev->rx_offload_flags & OCCTX_RX_OFFLOAD_CSUM_F)] |
| 374 | [!!(edev->rx_offload_flags & OCCTX_RX_MULTI_SEG_F)]; |
| 375 | |
| 376 | const event_dequeue_burst_t ssow_deq_burst[2][2][2] = { |
| 377 | #define R(name, f2, f1, f0, flags) \ |
| 378 | [f2][f1][f0] = ssows_deq_burst_ ##name, |
| 379 | |
| 380 | SSO_RX_ADPTR_ENQ_FASTPATH_FUNC |
| 381 | #undef R |
| 382 | }; |
| 383 | |
| 384 | dev->dequeue_burst = ssow_deq_burst |
| 385 | [!!(edev->rx_offload_flags & OCCTX_RX_VLAN_FLTR_F)] |
| 386 | [!!(edev->rx_offload_flags & OCCTX_RX_OFFLOAD_CSUM_F)] |
| 387 | [!!(edev->rx_offload_flags & OCCTX_RX_MULTI_SEG_F)]; |
| 388 | |
| 389 | if (edev->is_timeout_deq) { |
| 390 | const event_dequeue_t ssow_deq_timeout[2][2][2] = { |
| 391 | #define R(name, f2, f1, f0, flags) \ |
no test coverage detected