linux/drivers/vdpa
Si-Wei Liu deeacf35c9 vdpa/mlx5: support device features provisioning
This patch implements features provisioning for mlx5_vdpa.

1) Validate the provisioned features are a subset of the parent
    features.
2) Clearing features that are not wanted by userspace.

For example:

    # vdpa mgmtdev show
    pci/0000:41:04.2:
      supported_classes net
      max_supported_vqs 65
      dev_features CSUM GUEST_CSUM MTU MAC HOST_TSO4 HOST_TSO6 STATUS CTRL_VQ CTRL_VLAN MQ CTRL_MAC_ADDR VERSION_1 ACCESS_PLATFORM

1) Provision vDPA device with all features derived from the parent

    # vdpa dev add name vdpa1 mgmtdev pci/0000:41:04.2
    # vdpa dev config show
    vdpa1: mac e4:11:c6:d3:45:f0 link up link_announce false max_vq_pairs 1 mtu 1500
      negotiated_features CSUM GUEST_CSUM MTU HOST_TSO4 HOST_TSO6 STATUS CTRL_VQ CTRL_VLAN MQ CTRL_MAC_ADDR VERSION_1 ACCESS_PLATFORM

2) Provision vDPA device with a subset of parent features

    # vdpa dev add name vdpa1 mgmtdev pci/0000:41:04.2 device_features 0x300020000
    # vdpa dev config show
    vdpa1:
      negotiated_features CTRL_VQ VERSION_1 ACCESS_PLATFORM

Signed-off-by: Si-Wei Liu <si-wei.liu@oracle.com>
Reviewed-by: Eli Cohen <elic@nvidia.com>
Message-Id: <1675725124-7375-7-git-send-email-si-wei.liu@oracle.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2023-02-20 19:27:00 -05:00
..
alibaba vdpa: multiple address spaces support 2022-05-31 12:44:27 -04:00
ifcvf vDPA/ifcvf: implement features provisioning 2023-02-20 19:26:55 -05:00
mlx5 vdpa/mlx5: support device features provisioning 2023-02-20 19:27:00 -05:00
solidrun virtio: vdpa: new SolidNET DPU driver. 2023-02-20 19:26:56 -05:00
vdpa_sim vdpa: Fix a couple of spelling mistakes in some messages 2023-02-20 19:26:59 -05:00
vdpa_user vduse: Validate vq_num in vduse_validate_config() 2022-12-28 05:28:11 -05:00
virtio_pci vdpa/vp_vdpa: fix kfree a wrong pointer in vp_vdpa_remove 2022-12-28 05:28:11 -05:00
Kconfig virtio: vdpa: new SolidNET DPU driver. 2023-02-20 19:26:56 -05:00
Makefile virtio: vdpa: new SolidNET DPU driver. 2023-02-20 19:26:56 -05:00
vdpa.c vdpa: validate device feature provisioning against supported class 2023-02-20 19:27:00 -05:00