? 2021/8/18 ??5:57, Zhu Lingshan ??:> This commit enbales multi-queue and control vq
> features for ifcvf
>
> Signed-off-by: Zhu Lingshan <lingshan.zhu at intel.com>
Acked-by: Jason Wang <jasowang at redhat.com>
> ---
> drivers/vdpa/ifcvf/ifcvf_base.h | 9 ---------
> drivers/vdpa/ifcvf/ifcvf_main.c | 11 +++--------
> 2 files changed, 3 insertions(+), 17 deletions(-)
>
> diff --git a/drivers/vdpa/ifcvf/ifcvf_base.h
b/drivers/vdpa/ifcvf/ifcvf_base.h
> index 97d9019a3ec0..09918af3ecf8 100644
> --- a/drivers/vdpa/ifcvf/ifcvf_base.h
> +++ b/drivers/vdpa/ifcvf/ifcvf_base.h
> @@ -22,15 +22,6 @@
> #define N3000_DEVICE_ID 0x1041
> #define N3000_SUBSYS_DEVICE_ID 0x001A
>
> -#define IFCVF_NET_SUPPORTED_FEATURES \
> - ((1ULL << VIRTIO_NET_F_MAC) | \
> - (1ULL << VIRTIO_F_ANY_LAYOUT) | \
> - (1ULL << VIRTIO_F_VERSION_1) | \
> - (1ULL << VIRTIO_NET_F_STATUS) | \
> - (1ULL << VIRTIO_F_ORDER_PLATFORM) | \
> - (1ULL << VIRTIO_F_ACCESS_PLATFORM) | \
> - (1ULL << VIRTIO_NET_F_MRG_RXBUF))
> -
> /* Max 8 data queue pairs(16 queues) and one control vq for now. */
> #define IFCVF_MAX_QUEUES 17
>
> diff --git a/drivers/vdpa/ifcvf/ifcvf_main.c
b/drivers/vdpa/ifcvf/ifcvf_main.c
> index e34c2ec2b69b..b99283a98177 100644
> --- a/drivers/vdpa/ifcvf/ifcvf_main.c
> +++ b/drivers/vdpa/ifcvf/ifcvf_main.c
> @@ -174,17 +174,12 @@ static u64 ifcvf_vdpa_get_features(struct vdpa_device
*vdpa_dev)
> struct ifcvf_adapter *adapter = vdpa_to_adapter(vdpa_dev);
> struct ifcvf_hw *vf = vdpa_to_vf(vdpa_dev);
> struct pci_dev *pdev = adapter->pdev;
> -
> + u32 type = vf->dev_type;
> u64 features;
>
> - switch (vf->dev_type) {
> - case VIRTIO_ID_NET:
> - features = ifcvf_get_features(vf) & IFCVF_NET_SUPPORTED_FEATURES;
> - break;
> - case VIRTIO_ID_BLOCK:
> + if (type == VIRTIO_ID_NET || type == VIRTIO_ID_BLOCK)
> features = ifcvf_get_features(vf);
> - break;
> - default:
> + else {
> features = 0;
> IFCVF_ERR(pdev, "VIRTIO ID %u not supported\n",
vf->dev_type);
> }