# SPDX-License-Identifier: GPL-2.0-only
menuconfig NTB
	tristate "Non-Transparent Bridge support"
	depends on PCI
	help
	 The PCI-E Non-transparent bridge hardware is a point-to-point PCI-E bus
	 connecting 2 systems.  When configured, writes to the device's PCI
	 mapped memory will be mirrored to a buffer on the remote system.  The
	 ntb Linux driver uses this point-to-point communication as a method to
	 transfer data from one system to the other.

	 If unsure, say N.

if NTB

config NTB_MSI
	bool "MSI Interrupt Support"
	depends on PCI_MSI
	help
	 Support using MSI interrupt forwarding instead of (or in addition to)
	 hardware doorbells. MSI interrupts typically offer lower latency
	 than doorbells and more MSI interrupts can be made available to
	 clients. However this requires an extra memory window and support
	 in the hardware driver for creating the MSI interrupts.

	 If unsure, say N.
source "drivers/ntb/hw/Kconfig"

source "drivers/ntb/test/Kconfig"

config NTB_TRANSPORT
	tristate "NTB Transport Client"
	help
	 This is a transport driver that enables connected systems to exchange
	 messages over the ntb hardware.  The transport exposes a queue pair api
	 to client drivers.

	 If unsure, say N.

config NTB_VIRTIO
	tristate "NTB VIRTIO"
	help
	 The NTB virtio driver sits between the NTB HW driver and the virtio
	 client driver and lets the virtio client driver to exchange data with
	 the remote vhost driver over the NTB hardware.

	 If unsure, say N.

config NTB_VHOST
	tristate "NTB VHOST"
	help
	 The NTB vhost driver sits between the NTB HW driver and the vhost
	 client driver and lets the vhost client driver to exchange data with
	 the remote virtio driver over the NTB hardware.

	 If unsure, say N.

endif # NTB
