>-----Original Message----- >From: dev <dev-boun...@dpdk.org> On Behalf Of Sarosh Arif >Sent: Monday, September 28, 2020 1:01 PM >To: ferruh.yi...@intel.com >Cc: dev@dpdk.org; Sarosh Arif <sarosh.a...@emumba.com> >Subject: [dpdk-dev] [PATCH v2] testpmd: add speed capability in device info > >Called rte_eth_dev_info_get() in testpmd, to get device info so that speed >capabilities can be printed under "show device info" > >Bugzilla ID: 496 >Signed-off-by: Sarosh Arif <sarosh.a...@emumba.com> >--- > app/test-pmd/config.c | 38 ++++++++++++++++++++++++++++++++++++++ > 1 file changed, 38 insertions(+) > >diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index >30bee3324..e2b3975a3 100644 >--- a/app/test-pmd/config.c >+++ b/app/test-pmd/config.c >@@ -518,7 +518,9 @@ device_infos_display(const char *identifier) > struct rte_device *dev; > struct rte_devargs da; > portid_t port_id; >+ struct rte_eth_dev_info dev_info; > char devstr[128]; >+ uint32_t speed_capa; > > memset(&da, 0, sizeof(da)); > if (!identifier) >@@ -569,6 +571,42 @@ device_infos_display(const char *identifier) > &mac_addr); > rte_eth_dev_get_name_by_port(port_id, >name); > printf("\n\tDevice name: %s", name);
How about extracting the below to a dedicated helper function to make the code more readable? Something like: void device_infos_display_speeds(uint32_t speed_capa) >+ rte_eth_dev_info_get(port_id, &dev_info); >+ speed_capa = dev_info.speed_capa; >+ >+ printf("\n\tDevice speed capability:"); >+ if (speed_capa == >ETH_LINK_SPEED_AUTONEG) >+ printf(" Autonegotiate (all speeds)"); >+ if (speed_capa & ETH_LINK_SPEED_FIXED) >+ printf(" Disable autonegotiate (fixed >speed) "); >+ if (speed_capa & ETH_LINK_SPEED_10M_HD) >+ printf(" 10 Mbps half-duplex "); >+ if (speed_capa & ETH_LINK_SPEED_10M) >+ printf(" 10 Mbps full-duplex "); >+ if (speed_capa & ETH_LINK_SPEED_100M_HD) >+ printf(" 100 Mbps half-duplex "); >+ if (speed_capa & ETH_LINK_SPEED_100M) >+ printf(" 100 Mbps full-duplex "); >+ if (speed_capa & ETH_LINK_SPEED_1G) >+ printf(" 1 Gbps "); >+ if (speed_capa & ETH_LINK_SPEED_2_5G) >+ printf(" 2.5 Gbps "); >+ if (speed_capa & ETH_LINK_SPEED_5G) >+ printf(" 5 Gbps "); >+ if (speed_capa & ETH_LINK_SPEED_10G) >+ printf(" 10 Gbps "); >+ if (speed_capa & ETH_LINK_SPEED_20G) >+ printf(" 20 Gbps "); >+ if (speed_capa & ETH_LINK_SPEED_25G) >+ printf(" 25 Gbps "); >+ if (speed_capa & ETH_LINK_SPEED_50G) >+ printf(" 50 Gbps "); >+ if (speed_capa & ETH_LINK_SPEED_56G) >+ printf(" 56 Gbps "); >+ if (speed_capa & ETH_LINK_SPEED_100G) >+ printf(" 100 Gbps "); >+ if (speed_capa & ETH_LINK_SPEED_200G) >+ printf(" 200 Gbps "); > printf("\n"); > } > } >-- >2.25.1 I'm ok also to leave is as-is. Reviewed-By: Asaf Penso <as...@nvidia.com>