nuttx/drivers/virtio/Kconfig
wangyongrong b0d70b76cb virtio-pci.c: polling mode support
1. Some platforms do not support interrupt mode (PCI_MSI/MSIX),
so add polling mode support, so these platforms can also use virtio-pci;
2. In some cases, we do not want to use the interrupt for virtio driver
to avoid time jitter, so add the polling mode support;
3. If CONFIG_DRIVERS_VIRTIO_PCI_POLLING_PERIOD <= 0, interrupt mode.
   if CONFIG_DRIVERS_VIRTIO_PCI_POLLING_PERIOD > 0, polling mode.

Signed-off-by: wangyongrong <wangyongrong@xiaomi.com>
2024-09-15 02:22:16 +08:00

116 lines
2.6 KiB
Plaintext

#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#
menuconfig DRIVERS_VIRTIO
bool "Virtio Device Support"
select OPENAMP
default n
if DRIVERS_VIRTIO
config DRIVERS_VIRTIO_MMIO
bool "Virtio MMIO Device Support"
default n
config DRIVERS_VIRTIO_MMIO_QUEUE_LEN
int "Virtio MMIO Virtio Queue Length"
default 0
range 0 1024
depends on DRIVERS_VIRTIO_MMIO
---help---
If this value equals to 0, use the max queue length get from
mmio register.
config DRIVERS_VIRTIO_PCI
bool "Virtio PCI Device Support"
default n
config DRIVERS_VIRTIO_PCI_POLLING_PERIOD
int "Virtio PCI Polling Period (us)"
depends on DRIVERS_VIRTIO_PCI
default 0
---help---
if Polling Period <= 0, not support polling mode.
if Polling Period > 0, support polling mode, and it represent
polling period (us).
config DRIVERS_VIRTIO_BLK
bool "Virtio block support"
depends on !DISABLE_MOUNTPOINT
default n
config DRIVERS_VIRTIO_GPU
bool "Virtio gpu support"
default n
depends on VIDEO_FB
select FB_UPDATE
config DRIVERS_VIRTIO_INPUT
bool "Virtio input support"
depends on INPUT && INPUT_TOUCHSCREEN && INPUT_KEYBOARD && INPUT_MOUSE
default n
config DRIVERS_VIRTIO_NET
bool "Virtio network support"
depends on NETDEVICES
default n
select ARCH_HAVE_NETDEV_STATISTICS
select NETDEV_LATEINIT
config DRIVERS_VIRTIO_NET_BUFNUM
int "Virtio network driver buffer number"
default 0
depends on DRIVERS_VIRTIO_NET
---help---
The buffer number in each virtqueue. (We have 2 virtqueues.)
If this value equals to 0, use CONFIG_IOB_NBUFFERS / 4 for each.
Normally we get just a little improvement for >8 buffers, and very little for >32.
config DRIVERS_VIRTIO_RNG
bool "Virtio rng support"
default n
select ARCH_HAVE_RNG
config DRIVERS_VIRTIO_RPMB
bool "Virtio RPMB support"
default n
config DRIVERS_VIRTIO_SERIAL
bool "Virtio serial support"
depends on SERIAL
default n
select SERIAL_RXDMA
select SERIAL_TXDMA
if DRIVERS_VIRTIO_SERIAL
config DRIVERS_VIRTIO_SERIAL_BUFSIZE
int "Virtio serial driver buffer size"
default 256
config DRIVERS_VIRTIO_SERIAL_CONSOLE
bool "Virtio serial console"
default n
select SERIAL_CONSOLE
---help---
This enables using first virtio serial device as console.
endif
config DRIVERS_VIRTIO_SOUND
bool "Virtio sound support"
default n
depends on DRIVERS_AUDIO
if DRIVERS_VIRTIO_SOUND
config DRIVERS_VIRTIO_SOUND_PERIOD_TIME
int "Virtio snd driver period time"
default 40
config DRIVERS_VIRTIO_SND_BUFFER_COUNT
int "Virtio snd driver buffer count"
default 6
endif
endif # DRIVERS_VIRTIO