Linux Audio

Check our new training course

Loading...
Note: File does not exist in v3.1.
  1# SPDX-License-Identifier: GPL-2.0-only
  2menuconfig VDPA
  3	tristate "vDPA drivers"
  4	depends on NET
  5	help
  6	  Enable this module to support vDPA device that uses a
  7	  datapath which complies with virtio specifications with
  8	  vendor specific control path.
  9
 10if VDPA
 11
 12config VDPA_SIM
 13	tristate "vDPA device simulator core"
 14	depends on RUNTIME_TESTING_MENU && HAS_DMA
 15	select DMA_OPS
 16	select VHOST_RING
 17	select IOMMU_IOVA
 18	help
 19	  Enable this module to support vDPA device simulators. These devices
 20	  are used for testing, prototyping and development of vDPA.
 21
 22config VDPA_SIM_NET
 23	tristate "vDPA simulator for networking device"
 24	depends on VDPA_SIM
 25	select GENERIC_NET_UTILS
 26	help
 27	  vDPA networking device simulator which loops TX traffic back to RX.
 28
 29config VDPA_SIM_BLOCK
 30	tristate "vDPA simulator for block device"
 31	depends on VDPA_SIM
 32	help
 33	  vDPA block device simulator which terminates IO request in a
 34	  memory buffer.
 35
 36config VDPA_USER
 37	tristate "VDUSE (vDPA Device in Userspace) support"
 38	depends on EVENTFD && MMU && HAS_DMA
 39	select DMA_OPS
 40	select VHOST_IOTLB
 41	select IOMMU_IOVA
 42	help
 43	  With VDUSE it is possible to emulate a vDPA Device
 44	  in a userspace program.
 45
 46config IFCVF
 47	tristate "Intel IFC VF vDPA driver"
 48	depends on PCI_MSI
 49	help
 50	  This kernel module can drive Intel IFC VF NIC to offload
 51	  virtio dataplane traffic to hardware.
 52	  To compile this driver as a module, choose M here: the module will
 53	  be called ifcvf.
 54
 55config MLX5_VDPA
 56	bool
 57	select VHOST_IOTLB
 58	help
 59	  Support library for Mellanox VDPA drivers. Provides code that is
 60	  common for all types of VDPA drivers. The following drivers are planned:
 61	  net, block.
 62
 63config MLX5_VDPA_NET
 64	tristate "vDPA driver for ConnectX devices"
 65	select MLX5_VDPA
 66	select VHOST_RING
 67	depends on MLX5_CORE
 68	help
 69	  VDPA network driver for ConnectX6 and newer. Provides offloading
 70	  of virtio net datapath such that descriptors put on the ring will
 71	  be executed by the hardware. It also supports a variety of stateless
 72	  offloads depending on the actual device used and firmware version.
 73
 74config MLX5_VDPA_STEERING_DEBUG
 75	bool "expose steering counters on debugfs"
 76	select MLX5_VDPA
 77	help
 78	  Expose RX steering counters in debugfs to aid in debugging. For each VLAN
 79	  or non VLAN interface, two hardware counters are added to the RX flow
 80	  table: one for unicast and one for multicast.
 81	  The counters counts the number of packets and bytes and exposes them in
 82	  debugfs. Once can read the counters using, e.g.:
 83	  cat /sys/kernel/debug/mlx5/mlx5_core.sf.1/vdpa-0/rx/untagged/ucast/packets
 84	  cat /sys/kernel/debug/mlx5/mlx5_core.sf.1/vdpa-0/rx/untagged/mcast/bytes
 85
 86config VP_VDPA
 87	tristate "Virtio PCI bridge vDPA driver"
 88	select VIRTIO_PCI_LIB
 89	depends on PCI_MSI
 90	help
 91	  This kernel module bridges virtio PCI device to vDPA bus.
 92
 93config ALIBABA_ENI_VDPA
 94	tristate "vDPA driver for Alibaba ENI"
 95	select VIRTIO_PCI_LIB_LEGACY
 96	depends on PCI_MSI && X86
 97	help
 98	  VDPA driver for Alibaba ENI (Elastic Network Interface) which is built upon
 99	  virtio 0.9.5 specification.
100
101 config SNET_VDPA
102	tristate "SolidRun's vDPA driver for SolidNET"
103	depends on PCI_MSI && PCI_IOV && (HWMON || HWMON=n)
104
105	# This driver MAY create a HWMON device.
106	# Depending on (HWMON || HWMON=n) ensures that:
107	# If HWMON=n the driver can be compiled either as a module or built-in.
108	# If HWMON=y the driver can be compiled either as a module or built-in.
109	# If HWMON=m the driver is forced to be compiled as a module.
110	# By doing so, IS_ENABLED can be used instead of IS_REACHABLE
111
112	help
113	  vDPA driver for SolidNET DPU.
114	  With this driver, the VirtIO dataplane can be
115	  offloaded to a SolidNET DPU.
116	  This driver includes a HW monitor device that
117	  reads health values from the DPU.
118
119config PDS_VDPA
120	tristate "vDPA driver for AMD/Pensando DSC devices"
121	select VIRTIO_PCI_LIB
122	depends on PCI_MSI
123	depends on PDS_CORE
124	help
125	  vDPA network driver for AMD/Pensando's PDS Core devices.
126	  With this driver, the VirtIO dataplane can be
127	  offloaded to an AMD/Pensando DSC device.
128
129endif # VDPA