[dpdk-dev] net/liquidio: add support for 10GBase-T cards

Message ID 1508820170-7512-1-git-send-email-ssrinivasan@caviumnetworks.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers

Checks

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

Commit Message

Srisivasubramanian S Oct. 24, 2017, 4:42 a.m. UTC
  Signed-off-by: Srisivasubramanian S <ssrinivasan@caviumnetworks.com>
Signed-off-by: Shijith Thotton <shijith.thotton@caviumnetworks.com>
---
 doc/guides/nics/liquidio.rst            |  2 ++
 drivers/net/liquidio/base/lio_hw_defs.h | 12 ++++++++----
 drivers/net/liquidio/lio_ethdev.c       |  7 ++++++-
 3 files changed, 16 insertions(+), 5 deletions(-)
  

Comments

Ferruh Yigit Oct. 24, 2017, 5:49 p.m. UTC | #1
On 10/23/2017 9:42 PM, Srisivasubramanian S wrote:
> Signed-off-by: Srisivasubramanian S <ssrinivasan@caviumnetworks.com>
> Signed-off-by: Shijith Thotton <shijith.thotton@caviumnetworks.com>
> ---
>  doc/guides/nics/liquidio.rst            |  2 ++
>  drivers/net/liquidio/base/lio_hw_defs.h | 12 ++++++++----
>  drivers/net/liquidio/lio_ethdev.c       |  7 ++++++-
>  3 files changed, 16 insertions(+), 5 deletions(-)
> 
> diff --git a/doc/guides/nics/liquidio.rst b/doc/guides/nics/liquidio.rst
> index 4ccde0c..7bc1604 100644
> --- a/doc/guides/nics/liquidio.rst
> +++ b/doc/guides/nics/liquidio.rst
> @@ -42,7 +42,9 @@ Supported LiquidIO Adapters
>  -----------------------------
>  
>  - LiquidIO II CN2350 210SV/225SV
> +- LiquidIO II CN2350 210SVPT
>  - LiquidIO II CN2360 210SV/225SV
> +- LiquidIO II CN2360 210SVPT

Do you want to update release notes to announce new device support?

>  
>  
>  Pre-Installation Configuration
> diff --git a/drivers/net/liquidio/base/lio_hw_defs.h b/drivers/net/liquidio/base/lio_hw_defs.h
> index c7f97f2..d4cd23c 100644
> --- a/drivers/net/liquidio/base/lio_hw_defs.h
> +++ b/drivers/net/liquidio/base/lio_hw_defs.h
> @@ -43,10 +43,14 @@
>  #define LIO_CN23XX_VF_VID	0x9712
>  
>  /* CN23xx subsystem device ids */
> -#define PCI_SUBSYS_DEV_ID_CN2350_210	0x0004
> -#define PCI_SUBSYS_DEV_ID_CN2360_210	0x0005
> -#define PCI_SUBSYS_DEV_ID_CN2360_225	0x0006
> -#define PCI_SUBSYS_DEV_ID_CN2350_225	0x0007
> +#define PCI_SUBSYS_DEV_ID_CN2350_210		0x0004
> +#define PCI_SUBSYS_DEV_ID_CN2360_210		0x0005
> +#define PCI_SUBSYS_DEV_ID_CN2360_225		0x0006
> +#define PCI_SUBSYS_DEV_ID_CN2350_225		0x0007
> +#define PCI_SUBSYS_DEV_ID_CN2350_210SVPN3	0x0008
> +#define PCI_SUBSYS_DEV_ID_CN2360_210SVPN3	0x0009
> +#define PCI_SUBSYS_DEV_ID_CN2350_210SVPT	0x000a
> +#define PCI_SUBSYS_DEV_ID_CN2360_210SVPT	0x000b
>  
>  /* --------------------------CONFIG VALUES------------------------ */
>  
> diff --git a/drivers/net/liquidio/lio_ethdev.c b/drivers/net/liquidio/lio_ethdev.c
> index 239f6af..2ffbfd2 100644
> --- a/drivers/net/liquidio/lio_ethdev.c
> +++ b/drivers/net/liquidio/lio_ethdev.c
> @@ -405,6 +405,10 @@ lio_dev_info_get(struct rte_eth_dev *eth_dev,
>  	/* CN23xx 10G cards */
>  	case PCI_SUBSYS_DEV_ID_CN2350_210:
>  	case PCI_SUBSYS_DEV_ID_CN2360_210:
> +	case PCI_SUBSYS_DEV_ID_CN2350_210SVPN3:
> +	case PCI_SUBSYS_DEV_ID_CN2360_210SVPN3:
> +	case PCI_SUBSYS_DEV_ID_CN2350_210SVPT:
> +	case PCI_SUBSYS_DEV_ID_CN2360_210SVPT:
>  		devinfo->speed_capa = ETH_LINK_SPEED_10G;
>  		break;
>  	/* CN23xx 25G cards */
> @@ -413,8 +417,9 @@ lio_dev_info_get(struct rte_eth_dev *eth_dev,
>  		devinfo->speed_capa = ETH_LINK_SPEED_25G;
>  		break;
>  	default:
> +		devinfo->speed_capa = ETH_LINK_SPEED_10G;
>  		lio_dev_err(lio_dev,
> -			    "Unknown CN23XX subsystem device id. Not setting speed capability.\n");
> +			    "Unknown CN23XX subsystem device id. Setting 10G as default link speed.\n");

Instead of setting speed and default and print an error log, why not added cases
for new devices and set to 10G there?

>  	}
>  
>  	devinfo->max_rx_queues = lio_dev->max_rx_queues;
>
  
Srisivasubramanian S Oct. 25, 2017, 6:06 p.m. UTC | #2
On Tue, 2017-10-24 at 10:49 -0700, Ferruh Yigit wrote:
> On 10/23/2017 9:42 PM, Srisivasubramanian S wrote:
> > Signed-off-by: Srisivasubramanian S <ssrinivasan at caviumnetworks.com>
> > Signed-off-by: Shijith Thotton <shijith.thotton at caviumnetworks.com>
> > ---
> >  doc/guides/nics/liquidio.rst            |  2 ++
> >  drivers/net/liquidio/base/lio_hw_defs.h | 12 ++++++++----
> >  drivers/net/liquidio/lio_ethdev.c       |  7 ++++++-
> >  3 files changed, 16 insertions(+), 5 deletions(-)
> > 
> > diff --git a/doc/guides/nics/liquidio.rst b/doc/guides/nics/liquidio.rst
> > index 4ccde0c..7bc1604 100644
> > --- a/doc/guides/nics/liquidio.rst
> > +++ b/doc/guides/nics/liquidio.rst
> > @@ -42,7 +42,9 @@ Supported LiquidIO Adapters
> >  -----------------------------
> >  
> >  - LiquidIO II CN2350 210SV/225SV
> > +- LiquidIO II CN2350 210SVPT
> >  - LiquidIO II CN2360 210SV/225SV
> > +- LiquidIO II CN2360 210SVPT
> 
> Do you want to update release notes to announce new device support?

Sure, will do.

> 
> >  
> >  
> >  Pre-Installation Configuration
> > diff --git a/drivers/net/liquidio/base/lio_hw_defs.h b/drivers/net/liquidio/base/lio_hw_defs.h
> > index c7f97f2..d4cd23c 100644
> > --- a/drivers/net/liquidio/base/lio_hw_defs.h
> > +++ b/drivers/net/liquidio/base/lio_hw_defs.h
> > @@ -43,10 +43,14 @@
> >  #define LIO_CN23XX_VF_VID	0x9712
> >  
> >  /* CN23xx subsystem device ids */
> > -#define PCI_SUBSYS_DEV_ID_CN2350_210	0x0004
> > -#define PCI_SUBSYS_DEV_ID_CN2360_210	0x0005
> > -#define PCI_SUBSYS_DEV_ID_CN2360_225	0x0006
> > -#define PCI_SUBSYS_DEV_ID_CN2350_225	0x0007
> > +#define PCI_SUBSYS_DEV_ID_CN2350_210		0x0004
> > +#define PCI_SUBSYS_DEV_ID_CN2360_210		0x0005
> > +#define PCI_SUBSYS_DEV_ID_CN2360_225		0x0006
> > +#define PCI_SUBSYS_DEV_ID_CN2350_225		0x0007
> > +#define PCI_SUBSYS_DEV_ID_CN2350_210SVPN3	0x0008
> > +#define PCI_SUBSYS_DEV_ID_CN2360_210SVPN3	0x0009
> > +#define PCI_SUBSYS_DEV_ID_CN2350_210SVPT	0x000a
> > +#define PCI_SUBSYS_DEV_ID_CN2360_210SVPT	0x000b
> >  
> >  /* --------------------------CONFIG VALUES------------------------ */
> >  
> > diff --git a/drivers/net/liquidio/lio_ethdev.c b/drivers/net/liquidio/lio_ethdev.c
> > index 239f6af..2ffbfd2 100644
> > --- a/drivers/net/liquidio/lio_ethdev.c
> > +++ b/drivers/net/liquidio/lio_ethdev.c
> > @@ -405,6 +405,10 @@ lio_dev_info_get(struct rte_eth_dev *eth_dev,
> >  	/* CN23xx 10G cards */
> >  	case PCI_SUBSYS_DEV_ID_CN2350_210:
> >  	case PCI_SUBSYS_DEV_ID_CN2360_210:
> > +	case PCI_SUBSYS_DEV_ID_CN2350_210SVPN3:
> > +	case PCI_SUBSYS_DEV_ID_CN2360_210SVPN3:
> > +	case PCI_SUBSYS_DEV_ID_CN2350_210SVPT:
> > +	case PCI_SUBSYS_DEV_ID_CN2360_210SVPT:
> >  		devinfo->speed_capa = ETH_LINK_SPEED_10G;
> >  		break;
> >  	/* CN23xx 25G cards */
> > @@ -413,8 +417,9 @@ lio_dev_info_get(struct rte_eth_dev *eth_dev,
> >  		devinfo->speed_capa = ETH_LINK_SPEED_25G;
> >  		break;
> >  	default:
> > +		devinfo->speed_capa = ETH_LINK_SPEED_10G;
> >  		lio_dev_err(lio_dev,
> > -			    "Unknown CN23XX subsystem device id. Not setting speed capability.\n");
> > +			    "Unknown CN23XX subsystem device id. Setting 10G as default link speed.\n");
> 
> Instead of setting speed and default and print an error log, why not added cases
> for new devices and set to 10G there?

Our thinking was to avoid error log that come out as not setting link speed when an old
DPDK driver is used on a LiquidIO VF compliant device that isn’t yet in the driver.
This is for forward compliance. We will of course add cases for new devices as they 
come along. Is this reasonable?

> 
> >  	}
> >  
> >  	devinfo->max_rx_queues = lio_dev->max_rx_queues;
> > 
>
  
Ferruh Yigit Oct. 25, 2017, 6:23 p.m. UTC | #3
On 10/25/2017 11:06 AM, Srisivasubramanian Srinivasan wrote:
> On Tue, 2017-10-24 at 10:49 -0700, Ferruh Yigit wrote:
>> On 10/23/2017 9:42 PM, Srisivasubramanian S wrote:
>>> Signed-off-by: Srisivasubramanian S <ssrinivasan at caviumnetworks.com>
>>> Signed-off-by: Shijith Thotton <shijith.thotton at caviumnetworks.com>
>>> ---
>>>  doc/guides/nics/liquidio.rst            |  2 ++
>>>  drivers/net/liquidio/base/lio_hw_defs.h | 12 ++++++++----
>>>  drivers/net/liquidio/lio_ethdev.c       |  7 ++++++-
>>>  3 files changed, 16 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/doc/guides/nics/liquidio.rst b/doc/guides/nics/liquidio.rst
>>> index 4ccde0c..7bc1604 100644
>>> --- a/doc/guides/nics/liquidio.rst
>>> +++ b/doc/guides/nics/liquidio.rst
>>> @@ -42,7 +42,9 @@ Supported LiquidIO Adapters
>>>  -----------------------------
>>>  
>>>  - LiquidIO II CN2350 210SV/225SV
>>> +- LiquidIO II CN2350 210SVPT
>>>  - LiquidIO II CN2360 210SV/225SV
>>> +- LiquidIO II CN2360 210SVPT
>>
>> Do you want to update release notes to announce new device support?
> 
> Sure, will do.
> 
>>
>>>  
>>>  
>>>  Pre-Installation Configuration
>>> diff --git a/drivers/net/liquidio/base/lio_hw_defs.h b/drivers/net/liquidio/base/lio_hw_defs.h
>>> index c7f97f2..d4cd23c 100644
>>> --- a/drivers/net/liquidio/base/lio_hw_defs.h
>>> +++ b/drivers/net/liquidio/base/lio_hw_defs.h
>>> @@ -43,10 +43,14 @@
>>>  #define LIO_CN23XX_VF_VID	0x9712
>>>  
>>>  /* CN23xx subsystem device ids */
>>> -#define PCI_SUBSYS_DEV_ID_CN2350_210	0x0004
>>> -#define PCI_SUBSYS_DEV_ID_CN2360_210	0x0005
>>> -#define PCI_SUBSYS_DEV_ID_CN2360_225	0x0006
>>> -#define PCI_SUBSYS_DEV_ID_CN2350_225	0x0007
>>> +#define PCI_SUBSYS_DEV_ID_CN2350_210		0x0004
>>> +#define PCI_SUBSYS_DEV_ID_CN2360_210		0x0005
>>> +#define PCI_SUBSYS_DEV_ID_CN2360_225		0x0006
>>> +#define PCI_SUBSYS_DEV_ID_CN2350_225		0x0007
>>> +#define PCI_SUBSYS_DEV_ID_CN2350_210SVPN3	0x0008
>>> +#define PCI_SUBSYS_DEV_ID_CN2360_210SVPN3	0x0009
>>> +#define PCI_SUBSYS_DEV_ID_CN2350_210SVPT	0x000a
>>> +#define PCI_SUBSYS_DEV_ID_CN2360_210SVPT	0x000b
>>>  
>>>  /* --------------------------CONFIG VALUES------------------------ */
>>>  
>>> diff --git a/drivers/net/liquidio/lio_ethdev.c b/drivers/net/liquidio/lio_ethdev.c
>>> index 239f6af..2ffbfd2 100644
>>> --- a/drivers/net/liquidio/lio_ethdev.c
>>> +++ b/drivers/net/liquidio/lio_ethdev.c
>>> @@ -405,6 +405,10 @@ lio_dev_info_get(struct rte_eth_dev *eth_dev,
>>>  	/* CN23xx 10G cards */
>>>  	case PCI_SUBSYS_DEV_ID_CN2350_210:
>>>  	case PCI_SUBSYS_DEV_ID_CN2360_210:
>>> +	case PCI_SUBSYS_DEV_ID_CN2350_210SVPN3:
>>> +	case PCI_SUBSYS_DEV_ID_CN2360_210SVPN3:
>>> +	case PCI_SUBSYS_DEV_ID_CN2350_210SVPT:
>>> +	case PCI_SUBSYS_DEV_ID_CN2360_210SVPT:
>>>  		devinfo->speed_capa = ETH_LINK_SPEED_10G;
>>>  		break;
>>>  	/* CN23xx 25G cards */
>>> @@ -413,8 +417,9 @@ lio_dev_info_get(struct rte_eth_dev *eth_dev,
>>>  		devinfo->speed_capa = ETH_LINK_SPEED_25G;
>>>  		break;
>>>  	default:
>>> +		devinfo->speed_capa = ETH_LINK_SPEED_10G;
>>>  		lio_dev_err(lio_dev,
>>> -			    "Unknown CN23XX subsystem device id. Not setting speed capability.\n");
>>> +			    "Unknown CN23XX subsystem device id. Setting 10G as default link speed.\n");
>>
>> Instead of setting speed and default and print an error log, why not added cases
>> for new devices and set to 10G there?
> 
> Our thinking was to avoid error log that come out as not setting link speed when an old
> DPDK driver is used on a LiquidIO VF compliant device that isn’t yet in the driver.

With old driver, pci device_id also won't be there for new device, and driver
won't probe it at all, so there won't be an issue of not setting link speed, am
I missing something?

> This is for forward compliance. We will of course add cases for new devices as they 
> come along. Is this reasonable?
> 
>>
>>>  	}
>>>  
>>>  	devinfo->max_rx_queues = lio_dev->max_rx_queues;
>>>
>>
> 
> 
> 
> 
> 
> 
>
  
Srisivasubramanian S Oct. 26, 2017, 2:23 a.m. UTC | #4
On Wed, 2017-10-25 at 11:23 -0700, Ferruh Yigit wrote:
> On 10/25/2017 11:06 AM, Srisivasubramanian Srinivasan wrote:
> > On Tue, 2017-10-24 at 10:49 -0700, Ferruh Yigit wrote:
> >> On 10/23/2017 9:42 PM, Srisivasubramanian S wrote:
> >>> Signed-off-by: Srisivasubramanian S <ssrinivasan at caviumnetworks.com>
> >>> Signed-off-by: Shijith Thotton <shijith.thotton at caviumnetworks.com>
> >>> ---
> >>>  doc/guides/nics/liquidio.rst            |  2 ++
> >>>  drivers/net/liquidio/base/lio_hw_defs.h | 12 ++++++++----
> >>>  drivers/net/liquidio/lio_ethdev.c       |  7 ++++++-
> >>>  3 files changed, 16 insertions(+), 5 deletions(-)
> >>>
> >>> diff --git a/doc/guides/nics/liquidio.rst b/doc/guides/nics/liquidio.rst
> >>> index 4ccde0c..7bc1604 100644
> >>> --- a/doc/guides/nics/liquidio.rst
> >>> +++ b/doc/guides/nics/liquidio.rst
> >>> @@ -42,7 +42,9 @@ Supported LiquidIO Adapters
> >>>  -----------------------------
> >>>  
> >>>  - LiquidIO II CN2350 210SV/225SV
> >>> +- LiquidIO II CN2350 210SVPT
> >>>  - LiquidIO II CN2360 210SV/225SV
> >>> +- LiquidIO II CN2360 210SVPT
> >>
> >> Do you want to update release notes to announce new device support?
> > 
> > Sure, will do.
> > 
> >>
> >>>  
> >>>  
> >>>  Pre-Installation Configuration
> >>> diff --git a/drivers/net/liquidio/base/lio_hw_defs.h b/drivers/net/liquidio/base/lio_hw_defs.h
> >>> index c7f97f2..d4cd23c 100644
> >>> --- a/drivers/net/liquidio/base/lio_hw_defs.h
> >>> +++ b/drivers/net/liquidio/base/lio_hw_defs.h
> >>> @@ -43,10 +43,14 @@
> >>>  #define LIO_CN23XX_VF_VID	0x9712
> >>>  
> >>>  /* CN23xx subsystem device ids */
> >>> -#define PCI_SUBSYS_DEV_ID_CN2350_210	0x0004
> >>> -#define PCI_SUBSYS_DEV_ID_CN2360_210	0x0005
> >>> -#define PCI_SUBSYS_DEV_ID_CN2360_225	0x0006
> >>> -#define PCI_SUBSYS_DEV_ID_CN2350_225	0x0007
> >>> +#define PCI_SUBSYS_DEV_ID_CN2350_210		0x0004
> >>> +#define PCI_SUBSYS_DEV_ID_CN2360_210		0x0005
> >>> +#define PCI_SUBSYS_DEV_ID_CN2360_225		0x0006
> >>> +#define PCI_SUBSYS_DEV_ID_CN2350_225		0x0007
> >>> +#define PCI_SUBSYS_DEV_ID_CN2350_210SVPN3	0x0008
> >>> +#define PCI_SUBSYS_DEV_ID_CN2360_210SVPN3	0x0009
> >>> +#define PCI_SUBSYS_DEV_ID_CN2350_210SVPT	0x000a
> >>> +#define PCI_SUBSYS_DEV_ID_CN2360_210SVPT	0x000b
> >>>  
> >>>  /* --------------------------CONFIG VALUES------------------------ */
> >>>  
> >>> diff --git a/drivers/net/liquidio/lio_ethdev.c b/drivers/net/liquidio/lio_ethdev.c
> >>> index 239f6af..2ffbfd2 100644
> >>> --- a/drivers/net/liquidio/lio_ethdev.c
> >>> +++ b/drivers/net/liquidio/lio_ethdev.c
> >>> @@ -405,6 +405,10 @@ lio_dev_info_get(struct rte_eth_dev *eth_dev,
> >>>  	/* CN23xx 10G cards */
> >>>  	case PCI_SUBSYS_DEV_ID_CN2350_210:
> >>>  	case PCI_SUBSYS_DEV_ID_CN2360_210:
> >>> +	case PCI_SUBSYS_DEV_ID_CN2350_210SVPN3:
> >>> +	case PCI_SUBSYS_DEV_ID_CN2360_210SVPN3:
> >>> +	case PCI_SUBSYS_DEV_ID_CN2350_210SVPT:
> >>> +	case PCI_SUBSYS_DEV_ID_CN2360_210SVPT:
> >>>  		devinfo->speed_capa = ETH_LINK_SPEED_10G;
> >>>  		break;
> >>>  	/* CN23xx 25G cards */
> >>> @@ -413,8 +417,9 @@ lio_dev_info_get(struct rte_eth_dev *eth_dev,
> >>>  		devinfo->speed_capa = ETH_LINK_SPEED_25G;
> >>>  		break;
> >>>  	default:
> >>> +		devinfo->speed_capa = ETH_LINK_SPEED_10G;
> >>>  		lio_dev_err(lio_dev,
> >>> -			    "Unknown CN23XX subsystem device id. Not setting speed capability.\n");
> >>> +			    "Unknown CN23XX subsystem device id. Setting 10G as default link speed.\n");
> >>
> >> Instead of setting speed and default and print an error log, why not added cases
> >> for new devices and set to 10G there?
> > 
> > Our thinking was to avoid error log that come out as not setting link speed when an old
> > DPDK driver is used on a LiquidIO VF compliant device that isn?t yet in the driver.
> 
> With old driver, pci device_id also won't be there for new device, and driver
> won't probe it at all, so there won't be an issue of not setting link speed, am
> I missing something?

LiquidIO VF compliant devices all have the same pci device id. Just the
subsystem id changes, so probe will be successful. Just that for new
devices we will see a log denoting unknown subsystem during
dev_info_get() call. Even without this patch, 10GBase-T cards work with
the log getting displayed, but we want to avoid that log and explicitly
say support starts from this release. 
 
> 
> > This is for forward compliance. We will of course add cases for new devices as they 
> > come along. Is this reasonable?
> > 
> >>
> >>>  	}
> >>>  
> >>>  	devinfo->max_rx_queues = lio_dev->max_rx_queues;
> >>>
> >>
> > 
> > 
> > 
> > 
> > 
> > 
> > 
>
  
Ferruh Yigit Oct. 26, 2017, 6:46 p.m. UTC | #5
On 10/25/2017 7:23 PM, Srisivasubramanian Srinivasan wrote:
> On Wed, 2017-10-25 at 11:23 -0700, Ferruh Yigit wrote:
>> On 10/25/2017 11:06 AM, Srisivasubramanian Srinivasan wrote:
>>> On Tue, 2017-10-24 at 10:49 -0700, Ferruh Yigit wrote:
>>>> On 10/23/2017 9:42 PM, Srisivasubramanian S wrote:
>>>>> Signed-off-by: Srisivasubramanian S <ssrinivasan at caviumnetworks.com>
>>>>> Signed-off-by: Shijith Thotton <shijith.thotton at caviumnetworks.com>
>>>>> ---
>>>>>  doc/guides/nics/liquidio.rst            |  2 ++
>>>>>  drivers/net/liquidio/base/lio_hw_defs.h | 12 ++++++++----
>>>>>  drivers/net/liquidio/lio_ethdev.c       |  7 ++++++-
>>>>>  3 files changed, 16 insertions(+), 5 deletions(-)
>>>>>
>>>>> diff --git a/doc/guides/nics/liquidio.rst b/doc/guides/nics/liquidio.rst
>>>>> index 4ccde0c..7bc1604 100644
>>>>> --- a/doc/guides/nics/liquidio.rst
>>>>> +++ b/doc/guides/nics/liquidio.rst
>>>>> @@ -42,7 +42,9 @@ Supported LiquidIO Adapters
>>>>>  -----------------------------
>>>>>  
>>>>>  - LiquidIO II CN2350 210SV/225SV
>>>>> +- LiquidIO II CN2350 210SVPT
>>>>>  - LiquidIO II CN2360 210SV/225SV
>>>>> +- LiquidIO II CN2360 210SVPT
>>>>
>>>> Do you want to update release notes to announce new device support?
>>>
>>> Sure, will do.
>>>
>>>>
>>>>>  
>>>>>  
>>>>>  Pre-Installation Configuration
>>>>> diff --git a/drivers/net/liquidio/base/lio_hw_defs.h b/drivers/net/liquidio/base/lio_hw_defs.h
>>>>> index c7f97f2..d4cd23c 100644
>>>>> --- a/drivers/net/liquidio/base/lio_hw_defs.h
>>>>> +++ b/drivers/net/liquidio/base/lio_hw_defs.h
>>>>> @@ -43,10 +43,14 @@
>>>>>  #define LIO_CN23XX_VF_VID	0x9712
>>>>>  
>>>>>  /* CN23xx subsystem device ids */
>>>>> -#define PCI_SUBSYS_DEV_ID_CN2350_210	0x0004
>>>>> -#define PCI_SUBSYS_DEV_ID_CN2360_210	0x0005
>>>>> -#define PCI_SUBSYS_DEV_ID_CN2360_225	0x0006
>>>>> -#define PCI_SUBSYS_DEV_ID_CN2350_225	0x0007
>>>>> +#define PCI_SUBSYS_DEV_ID_CN2350_210		0x0004
>>>>> +#define PCI_SUBSYS_DEV_ID_CN2360_210		0x0005
>>>>> +#define PCI_SUBSYS_DEV_ID_CN2360_225		0x0006
>>>>> +#define PCI_SUBSYS_DEV_ID_CN2350_225		0x0007
>>>>> +#define PCI_SUBSYS_DEV_ID_CN2350_210SVPN3	0x0008
>>>>> +#define PCI_SUBSYS_DEV_ID_CN2360_210SVPN3	0x0009
>>>>> +#define PCI_SUBSYS_DEV_ID_CN2350_210SVPT	0x000a
>>>>> +#define PCI_SUBSYS_DEV_ID_CN2360_210SVPT	0x000b
>>>>>  
>>>>>  /* --------------------------CONFIG VALUES------------------------ */
>>>>>  
>>>>> diff --git a/drivers/net/liquidio/lio_ethdev.c b/drivers/net/liquidio/lio_ethdev.c
>>>>> index 239f6af..2ffbfd2 100644
>>>>> --- a/drivers/net/liquidio/lio_ethdev.c
>>>>> +++ b/drivers/net/liquidio/lio_ethdev.c
>>>>> @@ -405,6 +405,10 @@ lio_dev_info_get(struct rte_eth_dev *eth_dev,
>>>>>  	/* CN23xx 10G cards */
>>>>>  	case PCI_SUBSYS_DEV_ID_CN2350_210:
>>>>>  	case PCI_SUBSYS_DEV_ID_CN2360_210:
>>>>> +	case PCI_SUBSYS_DEV_ID_CN2350_210SVPN3:
>>>>> +	case PCI_SUBSYS_DEV_ID_CN2360_210SVPN3:
>>>>> +	case PCI_SUBSYS_DEV_ID_CN2350_210SVPT:
>>>>> +	case PCI_SUBSYS_DEV_ID_CN2360_210SVPT:
>>>>>  		devinfo->speed_capa = ETH_LINK_SPEED_10G;
>>>>>  		break;
>>>>>  	/* CN23xx 25G cards */
>>>>> @@ -413,8 +417,9 @@ lio_dev_info_get(struct rte_eth_dev *eth_dev,
>>>>>  		devinfo->speed_capa = ETH_LINK_SPEED_25G;
>>>>>  		break;
>>>>>  	default:
>>>>> +		devinfo->speed_capa = ETH_LINK_SPEED_10G;
>>>>>  		lio_dev_err(lio_dev,
>>>>> -			    "Unknown CN23XX subsystem device id. Not setting speed capability.\n");
>>>>> +			    "Unknown CN23XX subsystem device id. Setting 10G as default link speed.\n");
>>>>
>>>> Instead of setting speed and default and print an error log, why not added cases
>>>> for new devices and set to 10G there?
>>>
>>> Our thinking was to avoid error log that come out as not setting link speed when an old
>>> DPDK driver is used on a LiquidIO VF compliant device that isn?t yet in the driver.
>>
>> With old driver, pci device_id also won't be there for new device, and driver
>> won't probe it at all, so there won't be an issue of not setting link speed, am
>> I missing something?
> 
> LiquidIO VF compliant devices all have the same pci device id. Just the
> subsystem id changes, so probe will be successful. Just that for new
> devices we will see a log denoting unknown subsystem during
> dev_info_get() call. Even without this patch, 10GBase-T cards work with
> the log getting displayed, but we want to avoid that log and explicitly
> say support starts from this release. 

Got it thank, I missed that these are subsystem ids, not device ids, I am OK
with the patch.

>  
>>
>>> This is for forward compliance. We will of course add cases for new devices as they 
>>> come along. Is this reasonable?
>>>
>>>>
>>>>>  	}
>>>>>  
>>>>>  	devinfo->max_rx_queues = lio_dev->max_rx_queues;
>>>>>
>>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>
> 
>
  
Ferruh Yigit Oct. 26, 2017, 7:17 p.m. UTC | #6
On 10/23/2017 9:42 PM, Srisivasubramanian S wrote:
> Signed-off-by: Srisivasubramanian S <ssrinivasan@caviumnetworks.com>
> Signed-off-by: Shijith Thotton <shijith.thotton@caviumnetworks.com>

Applied to dpdk-next-net/master, thanks.
  

Patch

diff --git a/doc/guides/nics/liquidio.rst b/doc/guides/nics/liquidio.rst
index 4ccde0c..7bc1604 100644
--- a/doc/guides/nics/liquidio.rst
+++ b/doc/guides/nics/liquidio.rst
@@ -42,7 +42,9 @@  Supported LiquidIO Adapters
 -----------------------------
 
 - LiquidIO II CN2350 210SV/225SV
+- LiquidIO II CN2350 210SVPT
 - LiquidIO II CN2360 210SV/225SV
+- LiquidIO II CN2360 210SVPT
 
 
 Pre-Installation Configuration
diff --git a/drivers/net/liquidio/base/lio_hw_defs.h b/drivers/net/liquidio/base/lio_hw_defs.h
index c7f97f2..d4cd23c 100644
--- a/drivers/net/liquidio/base/lio_hw_defs.h
+++ b/drivers/net/liquidio/base/lio_hw_defs.h
@@ -43,10 +43,14 @@ 
 #define LIO_CN23XX_VF_VID	0x9712
 
 /* CN23xx subsystem device ids */
-#define PCI_SUBSYS_DEV_ID_CN2350_210	0x0004
-#define PCI_SUBSYS_DEV_ID_CN2360_210	0x0005
-#define PCI_SUBSYS_DEV_ID_CN2360_225	0x0006
-#define PCI_SUBSYS_DEV_ID_CN2350_225	0x0007
+#define PCI_SUBSYS_DEV_ID_CN2350_210		0x0004
+#define PCI_SUBSYS_DEV_ID_CN2360_210		0x0005
+#define PCI_SUBSYS_DEV_ID_CN2360_225		0x0006
+#define PCI_SUBSYS_DEV_ID_CN2350_225		0x0007
+#define PCI_SUBSYS_DEV_ID_CN2350_210SVPN3	0x0008
+#define PCI_SUBSYS_DEV_ID_CN2360_210SVPN3	0x0009
+#define PCI_SUBSYS_DEV_ID_CN2350_210SVPT	0x000a
+#define PCI_SUBSYS_DEV_ID_CN2360_210SVPT	0x000b
 
 /* --------------------------CONFIG VALUES------------------------ */
 
diff --git a/drivers/net/liquidio/lio_ethdev.c b/drivers/net/liquidio/lio_ethdev.c
index 239f6af..2ffbfd2 100644
--- a/drivers/net/liquidio/lio_ethdev.c
+++ b/drivers/net/liquidio/lio_ethdev.c
@@ -405,6 +405,10 @@  lio_dev_info_get(struct rte_eth_dev *eth_dev,
 	/* CN23xx 10G cards */
 	case PCI_SUBSYS_DEV_ID_CN2350_210:
 	case PCI_SUBSYS_DEV_ID_CN2360_210:
+	case PCI_SUBSYS_DEV_ID_CN2350_210SVPN3:
+	case PCI_SUBSYS_DEV_ID_CN2360_210SVPN3:
+	case PCI_SUBSYS_DEV_ID_CN2350_210SVPT:
+	case PCI_SUBSYS_DEV_ID_CN2360_210SVPT:
 		devinfo->speed_capa = ETH_LINK_SPEED_10G;
 		break;
 	/* CN23xx 25G cards */
@@ -413,8 +417,9 @@  lio_dev_info_get(struct rte_eth_dev *eth_dev,
 		devinfo->speed_capa = ETH_LINK_SPEED_25G;
 		break;
 	default:
+		devinfo->speed_capa = ETH_LINK_SPEED_10G;
 		lio_dev_err(lio_dev,
-			    "Unknown CN23XX subsystem device id. Not setting speed capability.\n");
+			    "Unknown CN23XX subsystem device id. Setting 10G as default link speed.\n");
 	}
 
 	devinfo->max_rx_queues = lio_dev->max_rx_queues;