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

Ferruh Yigit ferruh.yigit at intel.com
Thu Oct 26 20:46:42 CEST 2017


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;
>>>>>
>>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>
> 
> 



More information about the dev mailing list