X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fcnxk%2Fcnxk_link.c;h=b1d59e325895626f0959958a42d222cc3a970643;hb=3c100e0e6b9c7865193cc07236ac347927660ff2;hp=6a7080167598d37710e9d7fef432fa58a6c6dd02;hpb=2c809af8a83a4be0fb2af626a6178b9cd8069c3e;p=dpdk.git diff --git a/drivers/net/cnxk/cnxk_link.c b/drivers/net/cnxk/cnxk_link.c index 6a70801675..b1d59e3258 100644 --- a/drivers/net/cnxk/cnxk_link.c +++ b/drivers/net/cnxk/cnxk_link.c @@ -12,6 +12,17 @@ cnxk_nix_toggle_flag_link_cfg(struct cnxk_eth_dev *dev, bool set) else dev->flags &= ~CNXK_LINK_CFG_IN_PROGRESS_F; + /* Update link info for LBK */ + if (!set && roc_nix_is_lbk(&dev->nix)) { + struct rte_eth_link link; + + link.link_status = RTE_ETH_LINK_UP; + link.link_speed = RTE_ETH_SPEED_NUM_100G; + link.link_autoneg = RTE_ETH_LINK_FIXED; + link.link_duplex = RTE_ETH_LINK_FULL_DUPLEX; + rte_eth_linkstatus_set(dev->eth_dev, &link); + } + rte_wmb(); } @@ -38,7 +49,7 @@ nix_link_status_print(struct rte_eth_dev *eth_dev, struct rte_eth_link *link) plt_info("Port %d: Link Up - speed %u Mbps - %s", (int)(eth_dev->data->port_id), (uint32_t)link->link_speed, - link->link_duplex == ETH_LINK_FULL_DUPLEX + link->link_duplex == RTE_ETH_LINK_FULL_DUPLEX ? "full-duplex" : "half-duplex"); else @@ -89,7 +100,7 @@ cnxk_eth_dev_link_status_cb(struct roc_nix *nix, struct roc_nix_link_info *link) eth_link.link_status = link->status; eth_link.link_speed = link->speed; - eth_link.link_autoneg = ETH_LINK_AUTONEG; + eth_link.link_autoneg = RTE_ETH_LINK_AUTONEG; eth_link.link_duplex = link->full_duplex; /* Print link info */ @@ -117,17 +128,17 @@ cnxk_nix_link_update(struct rte_eth_dev *eth_dev, int wait_to_complete) return 0; if (roc_nix_is_lbk(&dev->nix)) { - link.link_status = ETH_LINK_UP; - link.link_speed = ETH_SPEED_NUM_100G; - link.link_autoneg = ETH_LINK_FIXED; - link.link_duplex = ETH_LINK_FULL_DUPLEX; + link.link_status = RTE_ETH_LINK_UP; + link.link_speed = RTE_ETH_SPEED_NUM_100G; + link.link_autoneg = RTE_ETH_LINK_FIXED; + link.link_duplex = RTE_ETH_LINK_FULL_DUPLEX; } else { rc = roc_nix_mac_link_info_get(&dev->nix, &info); if (rc) return rc; link.link_status = info.status; link.link_speed = info.speed; - link.link_autoneg = ETH_LINK_AUTONEG; + link.link_autoneg = RTE_ETH_LINK_AUTONEG; if (info.full_duplex) link.link_duplex = info.full_duplex; }