[dpdk-dev] net/thunderx: add device speed capability info

Message ID 20170830113007.28620-1-jerin.jacob@caviumnetworks.com (mailing list archive)
State Superseded, archived
Delegated to: Ferruh Yigit
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Jerin Jacob Aug. 30, 2017, 11:30 a.m. UTC
  updated nicvf feature file to mark support.

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
 doc/guides/nics/features/thunderx.ini | 1 +
 drivers/net/thunderx/nicvf_ethdev.c   | 9 +++++++++
 2 files changed, 10 insertions(+)
  

Comments

Ferruh Yigit Aug. 30, 2017, 1:31 p.m. UTC | #1
On 8/30/2017 12:30 PM, Jerin Jacob wrote:
> updated nicvf feature file to mark support.
> 
> Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
> ---
>  doc/guides/nics/features/thunderx.ini | 1 +
>  drivers/net/thunderx/nicvf_ethdev.c   | 9 +++++++++
>  2 files changed, 10 insertions(+)
> 
> diff --git a/doc/guides/nics/features/thunderx.ini b/doc/guides/nics/features/thunderx.ini
> index b9720be6b..626858971 100644
> --- a/doc/guides/nics/features/thunderx.ini
> +++ b/doc/guides/nics/features/thunderx.ini
> @@ -4,6 +4,7 @@
>  ; Refer to default.ini for the full list of available PMD features.
>  ;
>  [Features]
> +Speed capabilities   = Y
>  Link status          = Y
>  Link status event    = Y
>  Queue start/stop     = Y
> diff --git a/drivers/net/thunderx/nicvf_ethdev.c b/drivers/net/thunderx/nicvf_ethdev.c
> index edc17f1d4..bfad07933 100644
> --- a/drivers/net/thunderx/nicvf_ethdev.c
> +++ b/drivers/net/thunderx/nicvf_ethdev.c
> @@ -1380,6 +1380,15 @@ nicvf_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
>  
>  	dev_info->pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>  
> +	/* Autonegotiation may be disabled */
> +	dev_info->speed_capa = ETH_LINK_SPEED_FIXED;
> +	dev_info->speed_capa |= ETH_LINK_SPEED_10M;
> +	dev_info->speed_capa |= ETH_LINK_SPEED_100M;
> +	dev_info->speed_capa |= ETH_LINK_SPEED_1G;
> +	dev_info->speed_capa |= ETH_LINK_SPEED_10G;

Why not just "|" them, same result with less code ...

> +	if (nicvf_hw_version(nic) != PCI_SUB_DEVICE_ID_CN81XX_NICVF)
> +		dev_info->speed_capa |= ETH_LINK_SPEED_40G;
> +
>  	dev_info->min_rx_bufsize = ETHER_MIN_MTU;
>  	dev_info->max_rx_pktlen = NIC_HW_MAX_FRS;
>  	dev_info->max_rx_queues =
>
  
Jerin Jacob Sept. 4, 2017, 6:12 a.m. UTC | #2
-----Original Message-----
> Date: Wed, 30 Aug 2017 14:31:07 +0100
> From: Ferruh Yigit <ferruh.yigit@intel.com>
> To: Jerin Jacob <jerin.jacob@caviumnetworks.com>, dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] net/thunderx: add device speed capability
>  info
> User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101
>  Thunderbird/52.3.0
> 
> On 8/30/2017 12:30 PM, Jerin Jacob wrote:
> > updated nicvf feature file to mark support.
> > 
> > Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
> > ---
> >  doc/guides/nics/features/thunderx.ini | 1 +
> >  drivers/net/thunderx/nicvf_ethdev.c   | 9 +++++++++
> >  2 files changed, 10 insertions(+)
> > 
> > diff --git a/doc/guides/nics/features/thunderx.ini b/doc/guides/nics/features/thunderx.ini
> > index b9720be6b..626858971 100644
> > --- a/doc/guides/nics/features/thunderx.ini
> > +++ b/doc/guides/nics/features/thunderx.ini
> > @@ -4,6 +4,7 @@
> >  ; Refer to default.ini for the full list of available PMD features.
> >  ;
> >  [Features]
> > +Speed capabilities   = Y
> >  Link status          = Y
> >  Link status event    = Y
> >  Queue start/stop     = Y
> > diff --git a/drivers/net/thunderx/nicvf_ethdev.c b/drivers/net/thunderx/nicvf_ethdev.c
> > index edc17f1d4..bfad07933 100644
> > --- a/drivers/net/thunderx/nicvf_ethdev.c
> > +++ b/drivers/net/thunderx/nicvf_ethdev.c
> > @@ -1380,6 +1380,15 @@ nicvf_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
> >  
> >  	dev_info->pci_dev = RTE_ETH_DEV_TO_PCI(dev);
> >  
> > +	/* Autonegotiation may be disabled */
> > +	dev_info->speed_capa = ETH_LINK_SPEED_FIXED;
> > +	dev_info->speed_capa |= ETH_LINK_SPEED_10M;
> > +	dev_info->speed_capa |= ETH_LINK_SPEED_100M;
> > +	dev_info->speed_capa |= ETH_LINK_SPEED_1G;
> > +	dev_info->speed_capa |= ETH_LINK_SPEED_10G;
> 
> Why not just "|" them, same result with less code ...

I thought it will give better readability. No strong opinion here, I
will respin v2 with your suggestion.

> 
> > +	if (nicvf_hw_version(nic) != PCI_SUB_DEVICE_ID_CN81XX_NICVF)
> > +		dev_info->speed_capa |= ETH_LINK_SPEED_40G;
> > +
> >  	dev_info->min_rx_bufsize = ETHER_MIN_MTU;
> >  	dev_info->max_rx_pktlen = NIC_HW_MAX_FRS;
> >  	dev_info->max_rx_queues =
> > 
>
  

Patch

diff --git a/doc/guides/nics/features/thunderx.ini b/doc/guides/nics/features/thunderx.ini
index b9720be6b..626858971 100644
--- a/doc/guides/nics/features/thunderx.ini
+++ b/doc/guides/nics/features/thunderx.ini
@@ -4,6 +4,7 @@ 
 ; Refer to default.ini for the full list of available PMD features.
 ;
 [Features]
+Speed capabilities   = Y
 Link status          = Y
 Link status event    = Y
 Queue start/stop     = Y
diff --git a/drivers/net/thunderx/nicvf_ethdev.c b/drivers/net/thunderx/nicvf_ethdev.c
index edc17f1d4..bfad07933 100644
--- a/drivers/net/thunderx/nicvf_ethdev.c
+++ b/drivers/net/thunderx/nicvf_ethdev.c
@@ -1380,6 +1380,15 @@  nicvf_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
 
 	dev_info->pci_dev = RTE_ETH_DEV_TO_PCI(dev);
 
+	/* Autonegotiation may be disabled */
+	dev_info->speed_capa = ETH_LINK_SPEED_FIXED;
+	dev_info->speed_capa |= ETH_LINK_SPEED_10M;
+	dev_info->speed_capa |= ETH_LINK_SPEED_100M;
+	dev_info->speed_capa |= ETH_LINK_SPEED_1G;
+	dev_info->speed_capa |= ETH_LINK_SPEED_10G;
+	if (nicvf_hw_version(nic) != PCI_SUB_DEVICE_ID_CN81XX_NICVF)
+		dev_info->speed_capa |= ETH_LINK_SPEED_40G;
+
 	dev_info->min_rx_bufsize = ETHER_MIN_MTU;
 	dev_info->max_rx_pktlen = NIC_HW_MAX_FRS;
 	dev_info->max_rx_queues =