mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2024-12-28 16:53:49 +00:00
de6c85bf91
DMA ops are a helper for architectures and not for drivers to override the DMA implementation. Unfortunately driver authors keep ignoring this. Make the fact more clear by renaming the symbol to ARCH_HAS_DMA_OPS and having the two drivers overriding their dma_ops depend on that. These drivers should probably be marked broken, but we can give them a bit of a grace period for that. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com> # for IPU6 Acked-by: Robin Murphy <robin.murphy@arm.com>
145 lines
4.5 KiB
Plaintext
145 lines
4.5 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
menuconfig VDPA
|
|
tristate "vDPA drivers"
|
|
depends on NET
|
|
help
|
|
Enable this module to support vDPA device that uses a
|
|
datapath which complies with virtio specifications with
|
|
vendor specific control path.
|
|
|
|
if VDPA
|
|
|
|
config VDPA_SIM
|
|
tristate "vDPA device simulator core"
|
|
depends on RUNTIME_TESTING_MENU
|
|
select VHOST_RING
|
|
select IOMMU_IOVA
|
|
help
|
|
Enable this module to support vDPA device simulators. These devices
|
|
are used for testing, prototyping and development of vDPA.
|
|
|
|
config VDPA_SIM_NET
|
|
tristate "vDPA simulator for networking device"
|
|
depends on VDPA_SIM
|
|
select GENERIC_NET_UTILS
|
|
help
|
|
vDPA networking device simulator which loops TX traffic back to RX.
|
|
|
|
config VDPA_SIM_BLOCK
|
|
tristate "vDPA simulator for block device"
|
|
depends on VDPA_SIM
|
|
help
|
|
vDPA block device simulator which terminates IO request in a
|
|
memory buffer.
|
|
|
|
config VDPA_USER
|
|
tristate "VDUSE (vDPA Device in Userspace) support"
|
|
depends on EVENTFD && MMU && HAS_DMA
|
|
#
|
|
# This driver incorrectly tries to override the dma_ops. It should
|
|
# never have done that, but for now keep it working on architectures
|
|
# that use dma ops
|
|
#
|
|
depends on ARCH_HAS_DMA_OPS
|
|
select VHOST_IOTLB
|
|
select IOMMU_IOVA
|
|
help
|
|
With VDUSE it is possible to emulate a vDPA Device
|
|
in a userspace program.
|
|
|
|
config IFCVF
|
|
tristate "Intel IFC VF vDPA driver"
|
|
depends on PCI_MSI
|
|
help
|
|
This kernel module can drive Intel IFC VF NIC to offload
|
|
virtio dataplane traffic to hardware.
|
|
To compile this driver as a module, choose M here: the module will
|
|
be called ifcvf.
|
|
|
|
config MLX5_VDPA
|
|
bool
|
|
select VHOST_IOTLB
|
|
help
|
|
Support library for Mellanox VDPA drivers. Provides code that is
|
|
common for all types of VDPA drivers. The following drivers are planned:
|
|
net, block.
|
|
|
|
config MLX5_VDPA_NET
|
|
tristate "vDPA driver for ConnectX devices"
|
|
select MLX5_VDPA
|
|
select VHOST_RING
|
|
depends on MLX5_CORE
|
|
help
|
|
VDPA network driver for ConnectX6 and newer. Provides offloading
|
|
of virtio net datapath such that descriptors put on the ring will
|
|
be executed by the hardware. It also supports a variety of stateless
|
|
offloads depending on the actual device used and firmware version.
|
|
|
|
config MLX5_VDPA_STEERING_DEBUG
|
|
bool "expose steering counters on debugfs"
|
|
select MLX5_VDPA
|
|
help
|
|
Expose RX steering counters in debugfs to aid in debugging. For each VLAN
|
|
or non VLAN interface, two hardware counters are added to the RX flow
|
|
table: one for unicast and one for multicast.
|
|
The counters counts the number of packets and bytes and exposes them in
|
|
debugfs. Once can read the counters using, e.g.:
|
|
cat /sys/kernel/debug/mlx5/mlx5_core.sf.1/vdpa-0/rx/untagged/ucast/packets
|
|
cat /sys/kernel/debug/mlx5/mlx5_core.sf.1/vdpa-0/rx/untagged/mcast/bytes
|
|
|
|
config VP_VDPA
|
|
tristate "Virtio PCI bridge vDPA driver"
|
|
select VIRTIO_PCI_LIB
|
|
depends on PCI_MSI
|
|
help
|
|
This kernel module bridges virtio PCI device to vDPA bus.
|
|
|
|
config ALIBABA_ENI_VDPA
|
|
tristate "vDPA driver for Alibaba ENI"
|
|
select VIRTIO_PCI_LIB_LEGACY
|
|
depends on PCI_MSI && X86
|
|
help
|
|
VDPA driver for Alibaba ENI (Elastic Network Interface) which is built upon
|
|
virtio 0.9.5 specification.
|
|
|
|
config SNET_VDPA
|
|
tristate "SolidRun's vDPA driver for SolidNET"
|
|
depends on PCI_MSI && PCI_IOV && (HWMON || HWMON=n)
|
|
|
|
# This driver MAY create a HWMON device.
|
|
# Depending on (HWMON || HWMON=n) ensures that:
|
|
# If HWMON=n the driver can be compiled either as a module or built-in.
|
|
# If HWMON=y the driver can be compiled either as a module or built-in.
|
|
# If HWMON=m the driver is forced to be compiled as a module.
|
|
# By doing so, IS_ENABLED can be used instead of IS_REACHABLE
|
|
|
|
help
|
|
vDPA driver for SolidNET DPU.
|
|
With this driver, the VirtIO dataplane can be
|
|
offloaded to a SolidNET DPU.
|
|
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"
|
|
select VIRTIO_PCI_LIB
|
|
depends on PCI_MSI
|
|
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.
|
|
|
|
config OCTEONEP_VDPA
|
|
tristate "vDPA driver for Octeon DPU devices"
|
|
depends on m
|
|
depends on PCI_MSI
|
|
help
|
|
This is a vDPA driver designed for Marvell's Octeon DPU devices.
|
|
This driver enables the offloading of the VirtIO dataplane to an
|
|
Octeon DPU device.
|
|
Please note that this driver must be built as a module and it
|
|
cannot be loaded until the Octeon emulation software is running.
|
|
|
|
endif # VDPA
|