cxl: Driver code for powernv PCIe based cards for userspace access
authorIan Munsie <imunsie@au1.ibm.com>
Wed, 8 Oct 2014 08:55:02 +0000 (19:55 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 8 Oct 2014 09:15:57 +0000 (20:15 +1100)
commitf204e0b8cedd7da1dfcfd05ed6b7692737e24029
tree35ca15049345cdd5dbed38229a6b3add05610658
parent10542ca0156f60571ef41799d44d40dd4cb0a473
cxl: Driver code for powernv PCIe based cards for userspace access

This is the core of the cxl driver.

It adds support for using cxl cards in the powernv environment only (ie POWER8
bare metal). It allows access to cxl accelerators by userspace using the
/dev/cxl/afuM.N char devices.

The kernel driver has no knowledge of the function implemented by the
accelerator. It provides services to userspace via the /dev/cxl/afuM.N
devices. When a program opens this device and runs the start work IOCTL, the
accelerator will have coherent access to that processes memory using the same
virtual addresses. That process may mmap the device to access any MMIO space
the accelerator provides.  Also, reads on the device will allow interrupts to
be received. These services are further documented in a later patch in
Documentation/powerpc/cxl.txt.

Documentation of the cxl hardware architecture and userspace API is provided in
subsequent patches.

Signed-off-by: Ian Munsie <imunsie@au1.ibm.com>
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
drivers/misc/cxl/context.c [new file with mode: 0644]
drivers/misc/cxl/cxl.h [new file with mode: 0644]
drivers/misc/cxl/debugfs.c [new file with mode: 0644]
drivers/misc/cxl/fault.c [new file with mode: 0644]
drivers/misc/cxl/file.c [new file with mode: 0644]
drivers/misc/cxl/irq.c [new file with mode: 0644]
drivers/misc/cxl/main.c [new file with mode: 0644]
drivers/misc/cxl/native.c [new file with mode: 0644]
drivers/misc/cxl/pci.c [new file with mode: 0644]
drivers/misc/cxl/sysfs.c [new file with mode: 0644]