[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