mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-23 21:16:02 +07:00
b6e8d4aa11
Add channelized messaging driver to support native RapidIO messaging exchange between multiple senders/recipients on devices that use kernel RapidIO subsystem services. This device driver is the result of collaboration within the RapidIO.org Software Task Group (STG) between Texas Instruments, Prodrive Technologies, Nokia Networks, BAE and IDT. Additional input was received from other members of RapidIO.org. The objective was to create a character mode driver interface which exposes messaging capabilities of RapidIO endpoint devices (mports) directly to applications, in a manner that allows the numerous and varied RapidIO implementations to interoperate. This char mode device driver allows user-space applications to setup messaging communication channels using single shared RapidIO messaging mailbox. By default this driver uses RapidIO MBOX_1 (MBOX_0 is reserved for use by RIONET Ethernet emulation driver). [weiyj.lk@gmail.com: rapidio/rio_cm: fix return value check in riocm_init()] Link: http://lkml.kernel.org/r/1469198221-21970-1-git-send-email-alexandre.bounine@idt.com Link: http://lkml.kernel.org/r/1468952862-18056-1-git-send-email-alexandre.bounine@idt.com Signed-off-by: Alexandre Bounine <alexandre.bounine@idt.com> Tested-by: Barry Wood <barry.wood@idt.com> Cc: Matt Porter <mporter@kernel.crashing.org> Cc: Aurelien Jacquiot <a-jacquiot@ti.com> Cc: Andre van Herk <andre.van.herk@prodrive-technologies.com> Cc: Barry Wood <barry.wood@idt.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
93 lines
2.9 KiB
Plaintext
93 lines
2.9 KiB
Plaintext
#
|
|
# RapidIO configuration
|
|
#
|
|
source "drivers/rapidio/devices/Kconfig"
|
|
|
|
config RAPIDIO_DISC_TIMEOUT
|
|
int "Discovery timeout duration (seconds)"
|
|
depends on RAPIDIO
|
|
default "30"
|
|
---help---
|
|
Amount of time a discovery node waits for a host to complete
|
|
enumeration before giving up.
|
|
|
|
config RAPIDIO_ENABLE_RX_TX_PORTS
|
|
bool "Enable RapidIO Input/Output Ports"
|
|
depends on RAPIDIO
|
|
---help---
|
|
The RapidIO specification describes a Output port transmit
|
|
enable and a Input port receive enable. The recommended state
|
|
for Input ports and Output ports should be disabled. When
|
|
this switch is set the RapidIO subsystem will enable all
|
|
ports for Input/Output direction to allow other traffic
|
|
than Maintenance transfers.
|
|
|
|
config RAPIDIO_DMA_ENGINE
|
|
bool "DMA Engine support for RapidIO"
|
|
depends on RAPIDIO
|
|
select DMADEVICES
|
|
select DMA_ENGINE
|
|
help
|
|
Say Y here if you want to use DMA Engine frameork for RapidIO data
|
|
transfers to/from target RIO devices. RapidIO uses NREAD and
|
|
NWRITE (NWRITE_R, SWRITE) requests to transfer data between local
|
|
memory and memory on remote target device. You need a DMA controller
|
|
capable to perform data transfers to/from RapidIO.
|
|
|
|
If you are unsure about this, say Y here.
|
|
|
|
config RAPIDIO_DEBUG
|
|
bool "RapidIO subsystem debug messages"
|
|
depends on RAPIDIO
|
|
help
|
|
Say Y here if you want the RapidIO subsystem to produce a bunch of
|
|
debug messages to the system log. Select this if you are having a
|
|
problem with the RapidIO subsystem and want to see more of what is
|
|
going on.
|
|
|
|
If you are unsure about this, say N here.
|
|
|
|
choice
|
|
prompt "Enumeration method"
|
|
depends on RAPIDIO
|
|
default RAPIDIO_ENUM_BASIC
|
|
help
|
|
There are different enumeration and discovery mechanisms offered
|
|
for RapidIO subsystem. You may select single built-in method or
|
|
or any number of methods to be built as modules.
|
|
Selecting a built-in method disables use of loadable methods.
|
|
|
|
If unsure, select Basic built-in.
|
|
|
|
config RAPIDIO_ENUM_BASIC
|
|
tristate "Basic"
|
|
help
|
|
This option includes basic RapidIO fabric enumeration and discovery
|
|
mechanism similar to one described in RapidIO specification Annex 1.
|
|
|
|
endchoice
|
|
|
|
config RAPIDIO_CHMAN
|
|
tristate "RapidIO Channelized Messaging driver"
|
|
depends on RAPIDIO
|
|
help
|
|
This option includes RapidIO channelized messaging driver which
|
|
provides socket-like interface to allow sharing of single RapidIO
|
|
messaging mailbox between multiple user-space applications.
|
|
See "Documentation/rapidio/rio_cm.txt" for driver description.
|
|
|
|
config RAPIDIO_MPORT_CDEV
|
|
tristate "RapidIO /dev mport device driver"
|
|
depends on RAPIDIO
|
|
help
|
|
This option includes generic RapidIO mport device driver which
|
|
allows to user space applications to perform RapidIO-specific
|
|
operations through selected RapidIO mport.
|
|
|
|
menu "RapidIO Switch drivers"
|
|
depends on RAPIDIO
|
|
|
|
source "drivers/rapidio/switches/Kconfig"
|
|
|
|
endmenu
|