1.. SPDX-License-Identifier: GPL-2.0+ 2.. note: can be edited and viewed with /usr/bin/formiko-vim 3 4========================================================== 5PCI vDPA driver for the AMD/Pensando(R) DSC adapter family 6========================================================== 7 8AMD/Pensando vDPA VF Device Driver 9 10Copyright(c) 2023 Advanced Micro Devices, Inc 11 12Overview 13======== 14 15The ``pds_vdpa`` driver is an auxiliary bus driver that supplies 16a vDPA device for use by the virtio network stack. It is used with 17the Pensando Virtual Function devices that offer vDPA and virtio queue 18services. It depends on the ``pds_core`` driver and hardware for the PF 19and VF PCI handling as well as for device configuration services. 20 21Using the device 22================ 23 24The ``pds_vdpa`` device is enabled via multiple configuration steps and 25depends on the ``pds_core`` driver to create and enable SR-IOV Virtual 26Function devices. After the VFs are enabled, we enable the vDPA service 27in the ``pds_core`` device to create the auxiliary devices used by pds_vdpa. 28 29Example steps: 30 31.. code-block:: bash 32 33 #!/bin/bash 34 35 modprobe pds_core 36 modprobe vdpa 37 modprobe pds_vdpa 38 39 PF_BDF=`ls /sys/module/pds_core/drivers/pci\:pds_core/*/sriov_numvfs | awk -F / '{print $7}'` 40 41 # Enable vDPA VF auxiliary device(s) in the PF 42 devlink dev param set pci/$PF_BDF name enable_vnet cmode runtime value true 43 44 # Create a VF for vDPA use 45 echo 1 > /sys/bus/pci/drivers/pds_core/$PF_BDF/sriov_numvfs 46 47 # Find the vDPA services/devices available 48 PDS_VDPA_MGMT=`vdpa mgmtdev show | grep vDPA | head -1 | cut -d: -f1` 49 50 # Create a vDPA device for use in virtio network configurations 51 vdpa dev add name vdpa1 mgmtdev $PDS_VDPA_MGMT mac 00:11:22:33:44:55 52 53 # Set up an ethernet interface on the vdpa device 54 modprobe virtio_vdpa 55 56 57 58Enabling the driver 59=================== 60 61The driver is enabled via the standard kernel configuration system, 62using the make command:: 63 64 make oldconfig/menuconfig/etc. 65 66The driver is located in the menu structure at: 67 68 -> Device Drivers 69 -> Network device support (NETDEVICES [=y]) 70 -> Ethernet driver support 71 -> Pensando devices 72 -> Pensando Ethernet PDS_VDPA Support 73 74Support 75======= 76 77For general Linux networking support, please use the netdev mailing 78list, which is monitored by Pensando personnel:: 79 80 netdev@vger.kernel.org 81 82For more specific support needs, please use the Pensando driver support 83email:: 84 85 drivers@pensando.io 86