| 921 | */ |
| 922 | |
| 923 | uint32_t bnxt_get_speed_capabilities(struct bnxt *bp) |
| 924 | { |
| 925 | uint32_t pam4_link_speed = 0; |
| 926 | uint32_t link_speed = 0; |
| 927 | uint32_t speed_capa = 0; |
| 928 | |
| 929 | if (bp->link_info == NULL) |
| 930 | return 0; |
| 931 | |
| 932 | link_speed = bp->link_info->support_speeds; |
| 933 | |
| 934 | /* If PAM4 is configured, use PAM4 supported speed */ |
| 935 | if (bp->link_info->support_pam4_speeds > 0) |
| 936 | pam4_link_speed = bp->link_info->support_pam4_speeds; |
| 937 | |
| 938 | if (link_speed & HWRM_PORT_PHY_QCFG_OUTPUT_LINK_SPEED_100MB) |
| 939 | speed_capa |= RTE_ETH_LINK_SPEED_100M; |
| 940 | if (link_speed & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_100MBHD) |
| 941 | speed_capa |= RTE_ETH_LINK_SPEED_100M_HD; |
| 942 | if (link_speed & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_1GB) |
| 943 | speed_capa |= RTE_ETH_LINK_SPEED_1G; |
| 944 | if (link_speed & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_2_5GB) |
| 945 | speed_capa |= RTE_ETH_LINK_SPEED_2_5G; |
| 946 | if (link_speed & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_10GB) |
| 947 | speed_capa |= RTE_ETH_LINK_SPEED_10G; |
| 948 | if (link_speed & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_20GB) |
| 949 | speed_capa |= RTE_ETH_LINK_SPEED_20G; |
| 950 | if (link_speed & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_25GB) |
| 951 | speed_capa |= RTE_ETH_LINK_SPEED_25G; |
| 952 | if (link_speed & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_40GB) |
| 953 | speed_capa |= RTE_ETH_LINK_SPEED_40G; |
| 954 | if (link_speed & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_50GB) |
| 955 | speed_capa |= RTE_ETH_LINK_SPEED_50G; |
| 956 | if (link_speed & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_100GB) |
| 957 | speed_capa |= RTE_ETH_LINK_SPEED_100G; |
| 958 | if (pam4_link_speed & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_PAM4_SPEEDS_50G) |
| 959 | speed_capa |= RTE_ETH_LINK_SPEED_50G; |
| 960 | if (pam4_link_speed & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_PAM4_SPEEDS_100G) |
| 961 | speed_capa |= RTE_ETH_LINK_SPEED_100G; |
| 962 | if (pam4_link_speed & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_PAM4_SPEEDS_200G) |
| 963 | speed_capa |= RTE_ETH_LINK_SPEED_200G; |
| 964 | |
| 965 | if (bp->link_info->auto_mode == |
| 966 | HWRM_PORT_PHY_QCFG_OUTPUT_AUTO_MODE_NONE) |
| 967 | speed_capa |= RTE_ETH_LINK_SPEED_FIXED; |
| 968 | |
| 969 | return speed_capa; |
| 970 | } |
| 971 | |
| 972 | static int bnxt_dev_info_get_op(struct rte_eth_dev *eth_dev, |
| 973 | struct rte_eth_dev_info *dev_info) |
no outgoing calls
no test coverage detected