[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <93aabf0c-3ea0-72d7-e7d7-1d503fe6cc75@intel.com>
Date: Tue, 9 Mar 2021 10:28:09 +0800
From: "Zhu, Lingshan" <lingshan.zhu@...el.com>
To: Jason Wang <jasowang@...hat.com>, mst@...hat.com, lulu@...hat.com
Cc: virtualization@...ts.linux-foundation.org, netdev@...r.kernel.org,
kvm@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH V2 2/4] vDPA/ifcvf: enable Intel C5000X-PL virtio-net for
vDPA
On 3/9/2021 10:23 AM, Jason Wang wrote:
>
> On 2021/3/8 4:35 下午, Zhu Lingshan wrote:
>> This commit enabled Intel FPGA SmartNIC C5000X-PL virtio-net
>> for vDPA
>>
>> Signed-off-by: Zhu Lingshan <lingshan.zhu@...el.com>
>> ---
>> drivers/vdpa/ifcvf/ifcvf_base.h | 5 +++++
>> drivers/vdpa/ifcvf/ifcvf_main.c | 5 +++++
>> 2 files changed, 10 insertions(+)
>>
>> diff --git a/drivers/vdpa/ifcvf/ifcvf_base.h
>> b/drivers/vdpa/ifcvf/ifcvf_base.h
>> index 64696d63fe07..75d9a8052039 100644
>> --- a/drivers/vdpa/ifcvf/ifcvf_base.h
>> +++ b/drivers/vdpa/ifcvf/ifcvf_base.h
>> @@ -23,6 +23,11 @@
>> #define IFCVF_SUBSYS_VENDOR_ID 0x8086
>> #define IFCVF_SUBSYS_DEVICE_ID 0x001A
>> +#define C5000X_PL_VENDOR_ID 0x1AF4
>> +#define C5000X_PL_DEVICE_ID 0x1000
>> +#define C5000X_PL_SUBSYS_VENDOR_ID 0x8086
>> +#define C5000X_PL_SUBSYS_DEVICE_ID 0x0001
>
>
> I just notice that the device is a transtitional one. Any reason for
> doing this?
>
> Note that IFCVF is a moden device anyhow (0x1041). Supporting legacy
> drive may bring many issues (e.g the definition is non-nomartive). One
> example is the support of VIRTIO_F_IOMMU_PLATFORM, legacy driver may
> assume the device can bypass IOMMU.
>
> Thanks
Hi Jason,
This device will support virtio1.0 by default, so has
VIRTIO_F_IOMMU_PLATFORM by default. Transitional device gives the
software a chance to fall back to virtio 0.95.
ifcvf drives this device in virtio 1.0 mode, set features
VIRTIO_F_IOMMU_PLATFORM successfully.
Thanks,
Zhu Lingshan
>
>
>> +
>> #define IFCVF_SUPPORTED_FEATURES \
>> ((1ULL << VIRTIO_NET_F_MAC) | \
>> (1ULL << VIRTIO_F_ANY_LAYOUT) | \
>> diff --git a/drivers/vdpa/ifcvf/ifcvf_main.c
>> b/drivers/vdpa/ifcvf/ifcvf_main.c
>> index e501ee07de17..26a2dab7ca66 100644
>> --- a/drivers/vdpa/ifcvf/ifcvf_main.c
>> +++ b/drivers/vdpa/ifcvf/ifcvf_main.c
>> @@ -484,6 +484,11 @@ static struct pci_device_id ifcvf_pci_ids[] = {
>> IFCVF_DEVICE_ID,
>> IFCVF_SUBSYS_VENDOR_ID,
>> IFCVF_SUBSYS_DEVICE_ID) },
>> + { PCI_DEVICE_SUB(C5000X_PL_VENDOR_ID,
>> + C5000X_PL_DEVICE_ID,
>> + C5000X_PL_SUBSYS_VENDOR_ID,
>> + C5000X_PL_SUBSYS_DEVICE_ID) },
>> +
>> { 0 },
>> };
>> MODULE_DEVICE_TABLE(pci, ifcvf_pci_ids);
>
Powered by blists - more mailing lists