| 1534 | } |
| 1535 | |
| 1536 | static int |
| 1537 | sfc_rx_rss_config(struct sfc_adapter *sa) |
| 1538 | { |
| 1539 | struct sfc_rss *rss = &sfc_sa2shared(sa)->rss; |
| 1540 | int rc = 0; |
| 1541 | |
| 1542 | if (rss->channels > 0) { |
| 1543 | rc = efx_rx_scale_mode_set(sa->nic, EFX_RSS_CONTEXT_DEFAULT, |
| 1544 | rss->hash_alg, rss->hash_types, |
| 1545 | B_TRUE); |
| 1546 | if (rc != 0) |
| 1547 | goto finish; |
| 1548 | |
| 1549 | rc = efx_rx_scale_key_set(sa->nic, EFX_RSS_CONTEXT_DEFAULT, |
| 1550 | rss->key, sizeof(rss->key)); |
| 1551 | if (rc != 0) |
| 1552 | goto finish; |
| 1553 | |
| 1554 | rc = efx_rx_scale_tbl_set(sa->nic, EFX_RSS_CONTEXT_DEFAULT, |
| 1555 | rss->tbl, RTE_DIM(rss->tbl)); |
| 1556 | } |
| 1557 | |
| 1558 | finish: |
| 1559 | return rc; |
| 1560 | } |
| 1561 | |
| 1562 | struct sfc_rxq_info * |
| 1563 | sfc_rxq_info_by_ethdev_qid(struct sfc_adapter_shared *sas, |
no test coverage detected