[dpdk-dev] [PATCH 03/28] common/cnxk: add support for getting link information

Jerin Jacob jerinjacobk at gmail.com
Thu Jun 10 07:09:00 CEST 2021


On Tue, Jun 1, 2021 at 3:12 AM Tomasz Duszynski <tduszynski at marvell.com> wrote:
>
> Add support for retrieving link information.
>
> Signed-off-by: Tomasz Duszynski <tduszynski at marvell.com>
> Signed-off-by: Jakub Palider <jpalider at marvell.com>
> ---
> +enum roc_bphy_cgx_eth_link_speed {
> +       ROC_BPHY_CGX_ETH_LINK_SPEED_NONE,
> +       ROC_BPHY_CGX_ETH_LINK_SPEED_10M,
> +       ROC_BPHY_CGX_ETH_LINK_SPEED_100M,
> +       ROC_BPHY_CGX_ETH_LINK_SPEED_1G,
> +       ROC_BPHY_CGX_ETH_LINK_SPEED_2HG,
> +       ROC_BPHY_CGX_ETH_LINK_SPEED_5G,
> +       ROC_BPHY_CGX_ETH_LINK_SPEED_10G,
> +       ROC_BPHY_CGX_ETH_LINK_SPEED_20G,
> +       ROC_BPHY_CGX_ETH_LINK_SPEED_25G,
> +       ROC_BPHY_CGX_ETH_LINK_SPEED_40G,
> +       ROC_BPHY_CGX_ETH_LINK_SPEED_50G,
> +       ROC_BPHY_CGX_ETH_LINK_SPEED_80G,
> +       ROC_BPHY_CGX_ETH_LINK_SPEED_100G,
> +       __MAX_ROC_BPHY_CGX_ETH_LINK_SPEED

Better to change to  __ROC_BPHY_CGX_ETH_LINK_SPEED_MAX

> +};
> +
> +enum roc_bphy_cgx_eth_link_fec {
> +       ROC_BPHY_CGX_ETH_LINK_FEC_NONE,
> +       ROC_BPHY_CGX_ETH_LINK_FEC_BASE_R,
> +       ROC_BPHY_CGX_ETH_LINK_FEC_RS,
> +       __MAX_ROC_BPHY_CGX_ETH_LINK_FEC

Same as above.

> +};
> +
> +enum roc_bphy_cgx_eth_link_mode {
> +       ROC_BPHY_CGX_ETH_LINK_MODE_SGMII_BIT,
> +       ROC_BPHY_CGX_ETH_LINK_MODE_1000_BASEX_BIT,
> +       ROC_BPHY_CGX_ETH_LINK_MODE_QSGMII_BIT,
> +       ROC_BPHY_CGX_ETH_LINK_MODE_10G_C2C_BIT,
> +       ROC_BPHY_CGX_ETH_LINK_MODE_10G_C2M_BIT,
> +       ROC_BPHY_CGX_ETH_LINK_MODE_10G_KR_BIT,
> +       ROC_BPHY_CGX_ETH_LINK_MODE_20G_C2C_BIT,
> +       ROC_BPHY_CGX_ETH_LINK_MODE_25G_C2C_BIT,
> +       ROC_BPHY_CGX_ETH_LINK_MODE_25G_C2M_BIT,
> +       ROC_BPHY_CGX_ETH_LINK_MODE_25G_2_C2C_BIT,
> +       ROC_BPHY_CGX_ETH_LINK_MODE_25G_CR_BIT,
> +       ROC_BPHY_CGX_ETH_LINK_MODE_25G_KR_BIT,
> +       ROC_BPHY_CGX_ETH_LINK_MODE_40G_C2C_BIT,
> +       ROC_BPHY_CGX_ETH_LINK_MODE_40G_C2M_BIT,
> +       ROC_BPHY_CGX_ETH_LINK_MODE_40G_CR4_BIT,
> +       ROC_BPHY_CGX_ETH_LINK_MODE_40G_KR4_BIT,
> +       ROC_BPHY_CGX_ETH_LINK_MODE_40GAUI_C2C_BIT,
> +       ROC_BPHY_CGX_ETH_LINK_MODE_50G_C2C_BIT,
> +       ROC_BPHY_CGX_ETH_LINK_MODE_50G_C2M_BIT,
> +       ROC_BPHY_CGX_ETH_LINK_MODE_50G_4_C2C_BIT,
> +       ROC_BPHY_CGX_ETH_LINK_MODE_50G_CR_BIT,
> +       ROC_BPHY_CGX_ETH_LINK_MODE_50G_KR_BIT,
> +       ROC_BPHY_CGX_ETH_LINK_MODE_80GAUI_C2C_BIT,
> +       ROC_BPHY_CGX_ETH_LINK_MODE_100G_C2C_BIT,
> +       ROC_BPHY_CGX_ETH_LINK_MODE_100G_C2M_BIT,
> +       ROC_BPHY_CGX_ETH_LINK_MODE_100G_CR4_BIT,
> +       ROC_BPHY_CGX_ETH_LINK_MODE_100G_KR4_BIT,
> +       __MAX_ROC_BPHY_CGX_ETH_LINK_MODE


Same as above.


> +};
> +
> +struct roc_bphy_cgx_link_info {
> +       bool link_up;
> +       bool full_duplex;
> +       enum roc_bphy_cgx_eth_link_speed speed;
> +       bool an;
> +       enum roc_bphy_cgx_eth_link_fec fec;
> +       enum roc_bphy_cgx_eth_link_mode mode;
> +};
> +
>  __roc_api int roc_bphy_cgx_dev_init(struct roc_bphy_cgx *roc_cgx);
>  __roc_api int roc_bphy_cgx_dev_fini(struct roc_bphy_cgx *roc_cgx);
>


More information about the dev mailing list