On Thu, Mar 16, 2023 at 11:25 AM Shannon Nelson <shannon.nelson@xxxxxxx> wrote: > > On 3/15/23 12:05 AM, Jason Wang wrote: > > On Thu, Mar 9, 2023 at 9:31 AM Shannon Nelson <shannon.nelson@xxxxxxx> wrote: > >> > >> Add the documentation and Kconfig entry for pds_vdpa driver. > >> > >> Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxx> > >> --- > >> .../ethernet/pensando/pds_vdpa.rst | 84 +++++++++++++++++++ > >> MAINTAINERS | 4 + > >> drivers/vdpa/Kconfig | 8 ++ > >> 3 files changed, 96 insertions(+) > >> create mode 100644 Documentation/networking/device_drivers/ethernet/pensando/pds_vdpa.rst > >> > >> diff --git a/Documentation/networking/device_drivers/ethernet/pensando/pds_vdpa.rst b/Documentation/networking/device_drivers/ethernet/pensando/pds_vdpa.rst > >> new file mode 100644 > >> index 000000000000..d41f6dd66e3e > >> --- /dev/null > >> +++ b/Documentation/networking/device_drivers/ethernet/pensando/pds_vdpa.rst > >> @@ -0,0 +1,84 @@ > >> +.. SPDX-License-Identifier: GPL-2.0+ > >> +.. note: can be edited and viewed with /usr/bin/formiko-vim > >> + > >> +========================================================== > >> +PCI vDPA driver for the AMD/Pensando(R) DSC adapter family > >> +========================================================== > >> + > >> +AMD/Pensando vDPA VF Device Driver > >> +Copyright(c) 2023 Advanced Micro Devices, Inc > >> + > >> +Overview > >> +======== > >> + > >> +The ``pds_vdpa`` driver is an auxiliary bus driver that supplies > >> +a vDPA device for use by the virtio network stack. It is used with > >> +the Pensando Virtual Function devices that offer vDPA and virtio queue > >> +services. It depends on the ``pds_core`` driver and hardware for the PF > >> +and VF PCI handling as well as for device configuration services. > >> + > >> +Using the device > >> +================ > >> + > >> +The ``pds_vdpa`` device is enabled via multiple configuration steps and > >> +depends on the ``pds_core`` driver to create and enable SR-IOV Virtual > >> +Function devices. > >> + > >> +Shown below are the steps to bind the driver to a VF and also to the > >> +associated auxiliary device created by the ``pds_core`` driver. > >> + > >> +.. code-block:: bash > >> + > >> + #!/bin/bash > >> + > >> + modprobe pds_core > >> + modprobe vdpa > >> + modprobe pds_vdpa > >> + > >> + PF_BDF=`grep -H "vDPA.*1" /sys/kernel/debug/pds_core/*/viftypes | head -1 | awk -F / '{print $6}'` > >> + > >> + # Enable vDPA VF auxiliary device(s) in the PF > >> + devlink dev param set pci/$PF_BDF name enable_vnet value true cmode runtime > >> + > > > > Does this mean we can't do per VF configuration for vDPA enablement > > (e.g VF0 for vdpa VF1 to other type)? > > For now, yes, a PF only supports one VF type at a time. We've thought > about possibilities for some heterogeneous configurations, and tried to > do some planning for future flexibility, but our current needs don't go > that far. If and when we get there, we might look at how Guatam's group > did their VF personalities in their EF100 driver, or some other > possibilities. That's fine. > > Thanks for looking through these, I appreciate your time and comments. You are welcome. Thanks > > sln > > > > > > Thanks > > > > > >> + # Create a VF for vDPA use > >> + echo 1 > /sys/bus/pci/drivers/pds_core/$PF_BDF/sriov_numvfs > >> + > >> + # Find the vDPA services/devices available > >> + PDS_VDPA_MGMT=`vdpa mgmtdev show | grep vDPA | head -1 | cut -d: -f1` > >> + > >> + # Create a vDPA device for use in virtio network configurations > >> + vdpa dev add name vdpa1 mgmtdev $PDS_VDPA_MGMT mac 00:11:22:33:44:55 > >> + > >> + # Set up an ethernet interface on the vdpa device > >> + modprobe virtio_vdpa > >> + > >> + > >> + > >> +Enabling the driver > >> +=================== > >> + > >> +The driver is enabled via the standard kernel configuration system, > >> +using the make command:: > >> + > >> + make oldconfig/menuconfig/etc. > >> + > >> +The driver is located in the menu structure at: > >> + > >> + -> Device Drivers > >> + -> Network device support (NETDEVICES [=y]) > >> + -> Ethernet driver support > >> + -> Pensando devices > >> + -> Pensando Ethernet PDS_VDPA Support > >> + > >> +Support > >> +======= > >> + > >> +For general Linux networking support, please use the netdev mailing > >> +list, which is monitored by Pensando personnel:: > >> + > >> + netdev@xxxxxxxxxxxxxxx > >> + > >> +For more specific support needs, please use the Pensando driver support > >> +email:: > >> + > >> + drivers@xxxxxxxxxxx > >> diff --git a/MAINTAINERS b/MAINTAINERS > >> index cb21dcd3a02a..da981c5bc830 100644 > >> --- a/MAINTAINERS > >> +++ b/MAINTAINERS > >> @@ -22120,6 +22120,10 @@ SNET DPU VIRTIO DATA PATH ACCELERATOR > >> R: Alvaro Karsz <alvaro.karsz@xxxxxxxxxxxxx> > >> F: drivers/vdpa/solidrun/ > >> > >> +PDS DSC VIRTIO DATA PATH ACCELERATOR > >> +R: Shannon Nelson <shannon.nelson@xxxxxxx> > >> +F: drivers/vdpa/pds/ > >> + > >> VIRTIO BALLOON > >> M: "Michael S. Tsirkin" <mst@xxxxxxxxxx> > >> M: David Hildenbrand <david@xxxxxxxxxx> > >> diff --git a/drivers/vdpa/Kconfig b/drivers/vdpa/Kconfig > >> index cd6ad92f3f05..c910cb119c1b 100644 > >> --- a/drivers/vdpa/Kconfig > >> +++ b/drivers/vdpa/Kconfig > >> @@ -116,4 +116,12 @@ config ALIBABA_ENI_VDPA > >> This driver includes a HW monitor device that > >> reads health values from the DPU. > >> > >> +config PDS_VDPA > >> + tristate "vDPA driver for AMD/Pensando DSC devices" > >> + depends on PDS_CORE > >> + help > >> + VDPA network driver for AMD/Pensando's PDS Core devices. > >> + With this driver, the VirtIO dataplane can be > >> + offloaded to an AMD/Pensando DSC device. > >> + > >> endif # VDPA > >> -- > >> 2.17.1 > >> > > > _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization