zram: use __bio_add_page for adding single page to bio
[linux-block.git] / drivers / vdpa / Kconfig
CommitLineData
961e9c84 1# SPDX-License-Identifier: GPL-2.0-only
58ad1372
MT
2menuconfig VDPA
3 tristate "vDPA drivers"
33b34750 4 depends on NET
961e9c84
JW
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.
2c53d0f6 9
58ad1372 10if VDPA
2c53d0f6
JW
11
12config VDPA_SIM
db1e8bb6 13 tristate "vDPA device simulator core"
213e7721 14 depends on RUNTIME_TESTING_MENU && HAS_DMA
2f9237d4 15 select DMA_OPS
2c53d0f6 16 select VHOST_RING
4080fc10 17 select IOMMU_IOVA
db1e8bb6
MG
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
a312db69 25 select GENERIC_NET_UTILS
2c53d0f6 26 help
db1e8bb6 27 vDPA networking device simulator which loops TX traffic back to RX.
2c53d0f6 28
0c853c2c
MG
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
c8a6153b
XY
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
5a2414bc 46config IFCVF
58ad1372 47 tristate "Intel IFC VF vDPA driver"
5a2414bc 48 depends on PCI_MSI
5a2414bc
ZL
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
29064bfd 55config MLX5_VDPA
aff90770 56 bool
98701a2a 57 select VHOST_IOTLB
29064bfd
EC
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
1a86b377
EC
63config MLX5_VDPA_NET
64 tristate "vDPA driver for ConnectX devices"
aff90770 65 select MLX5_VDPA
5262912e 66 select VHOST_RING
aff90770 67 depends on MLX5_CORE
1a86b377
EC
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
0a599750
EC
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
64b9f64f
JW
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
e85087be
WZ
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
51a8f9d7
AK
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
58ad1372 119endif # VDPA