forked from Minki/linux
3ced8d7300
This patch exports a in-kernel 'library' API which can be called by other drivers to help interacting with an IBM XSL on a POWER9 system. The XSL (Translation Service Layer) is a stripped down version of the PSL (Power Service Layer) used in some cards such as the Mellanox CX5. Like the PSL, it implements the CAIA architecture, but has a number of differences, mostly in it's implementation dependent registers. The XSL also uses a special DMA cxl mode, which uses a slightly different init sequence for the CAPP and PHB. Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com> Signed-off-by: Christophe Lombard <clombard@linux.vnet.ibm.com> Acked-by: Frederic Barrat <fbarrat@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
44 lines
1.0 KiB
Plaintext
44 lines
1.0 KiB
Plaintext
#
|
|
# IBM Coherent Accelerator (CXL) compatible devices
|
|
#
|
|
|
|
config CXL_BASE
|
|
bool
|
|
default n
|
|
select PPC_COPRO_BASE
|
|
|
|
config CXL_AFU_DRIVER_OPS
|
|
bool
|
|
default n
|
|
|
|
config CXL_LIB
|
|
bool
|
|
default n
|
|
|
|
config CXL
|
|
tristate "Support for IBM Coherent Accelerators (CXL)"
|
|
depends on PPC_POWERNV && PCI_MSI && EEH
|
|
select CXL_BASE
|
|
select CXL_AFU_DRIVER_OPS
|
|
select CXL_LIB
|
|
default m
|
|
help
|
|
Select this option to enable driver support for IBM Coherent
|
|
Accelerators (CXL). CXL is otherwise known as Coherent Accelerator
|
|
Processor Interface (CAPI). CAPI allows accelerators in FPGAs to be
|
|
coherently attached to a CPU via an MMU. This driver enables
|
|
userspace programs to access these accelerators via /dev/cxl/afuM.N
|
|
devices.
|
|
|
|
CAPI adapters are found in POWER8 based systems.
|
|
|
|
If unsure, say N.
|
|
|
|
config CXL_BIMODAL
|
|
bool "Support for bi-modal CAPI cards"
|
|
depends on HOTPLUG_PCI_POWERNV = y && CXL || HOTPLUG_PCI_POWERNV = m && CXL = m
|
|
default y
|
|
help
|
|
Select this option to enable support for bi-modal CAPI cards, such as
|
|
the Mellanox CX-4.
|