MCPcopy Create free account
hub / github.com/F-Stack/f-stack / sfc_efx_caps_to_fec

Function sfc_efx_caps_to_fec

dpdk/drivers/net/sfc/sfc_ethdev.c:2474–2500  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2472}
2473
2474static uint32_t
2475sfc_efx_caps_to_fec(uint32_t caps, bool is_25g)
2476{
2477 bool rs_req = caps & EFX_PHY_CAP_FEC_BIT(RS_FEC_REQUESTED);
2478 bool rs = caps & EFX_PHY_CAP_FEC_BIT(RS_FEC);
2479 bool baser_req;
2480 bool baser;
2481
2482 if (is_25g) {
2483 baser = caps & EFX_PHY_CAP_FEC_BIT(25G_BASER_FEC);
2484 baser_req = caps & EFX_PHY_CAP_FEC_BIT(25G_BASER_FEC_REQUESTED);
2485 } else {
2486 baser = caps & EFX_PHY_CAP_FEC_BIT(BASER_FEC);
2487 baser_req = caps & EFX_PHY_CAP_FEC_BIT(BASER_FEC_REQUESTED);
2488 }
2489
2490 if (!baser && !rs)
2491 return RTE_ETH_FEC_MODE_TO_CAPA(RTE_ETH_FEC_NOFEC);
2492
2493 if (rs_req)
2494 return RTE_ETH_FEC_MODE_TO_CAPA(RTE_ETH_FEC_RS);
2495
2496 if (baser_req)
2497 return RTE_ETH_FEC_MODE_TO_CAPA(RTE_ETH_FEC_BASER);
2498
2499 return 0;
2500}
2501
2502static int
2503sfc_fec_get(struct rte_eth_dev *dev, uint32_t *fec_capa)

Callers 1

sfc_fec_getFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected