diff options
| author | Ian Munsie <imunsie@au1.ibm.com> | 2014-10-08 04:55:05 -0400 |
|---|---|---|
| committer | Michael Ellerman <mpe@ellerman.id.au> | 2014-10-08 05:16:19 -0400 |
| commit | a9282d01cf357379ce29103cec5e7651a53c634d (patch) | |
| tree | efbc02a23f5dbc8453cdb4584c0ac2cef1316ba0 /include/uapi/misc | |
| parent | 881632c905f29fd7173250fd1d5b3a9a769d02be (diff) | |
cxl: Add documentation for userspace APIs
This documentation gives an overview of the hardware architecture, userspace
APIs via /dev/cxl/afuM.N and the syfs files. It also adds a MAINTAINERS file
entry for cxl.
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>
Diffstat (limited to 'include/uapi/misc')
| -rw-r--r-- | include/uapi/misc/cxl.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/include/uapi/misc/cxl.h b/include/uapi/misc/cxl.h index c232be6ae21f..cd6d789b73ec 100644 --- a/include/uapi/misc/cxl.h +++ b/include/uapi/misc/cxl.h | |||
| @@ -13,7 +13,7 @@ | |||
| 13 | #include <linux/types.h> | 13 | #include <linux/types.h> |
| 14 | #include <linux/ioctl.h> | 14 | #include <linux/ioctl.h> |
| 15 | 15 | ||
| 16 | /* Structs for IOCTLS for userspace to talk to the kernel */ | 16 | |
| 17 | struct cxl_ioctl_start_work { | 17 | struct cxl_ioctl_start_work { |
| 18 | __u64 flags; | 18 | __u64 flags; |
| 19 | __u64 work_element_descriptor; | 19 | __u64 work_element_descriptor; |
| @@ -26,19 +26,20 @@ struct cxl_ioctl_start_work { | |||
| 26 | __u64 reserved5; | 26 | __u64 reserved5; |
| 27 | __u64 reserved6; | 27 | __u64 reserved6; |
| 28 | }; | 28 | }; |
| 29 | |||
| 29 | #define CXL_START_WORK_AMR 0x0000000000000001ULL | 30 | #define CXL_START_WORK_AMR 0x0000000000000001ULL |
| 30 | #define CXL_START_WORK_NUM_IRQS 0x0000000000000002ULL | 31 | #define CXL_START_WORK_NUM_IRQS 0x0000000000000002ULL |
| 31 | #define CXL_START_WORK_ALL (CXL_START_WORK_AMR |\ | 32 | #define CXL_START_WORK_ALL (CXL_START_WORK_AMR |\ |
| 32 | CXL_START_WORK_NUM_IRQS) | 33 | CXL_START_WORK_NUM_IRQS) |
| 33 | 34 | ||
| 34 | /* IOCTL numbers */ | 35 | /* ioctl numbers */ |
| 35 | #define CXL_MAGIC 0xCA | 36 | #define CXL_MAGIC 0xCA |
| 36 | #define CXL_IOCTL_START_WORK _IOW(CXL_MAGIC, 0x00, struct cxl_ioctl_start_work) | 37 | #define CXL_IOCTL_START_WORK _IOW(CXL_MAGIC, 0x00, struct cxl_ioctl_start_work) |
| 37 | #define CXL_IOCTL_GET_PROCESS_ELEMENT _IOR(CXL_MAGIC, 0x01, __u32) | 38 | #define CXL_IOCTL_GET_PROCESS_ELEMENT _IOR(CXL_MAGIC, 0x01, __u32) |
| 38 | 39 | ||
| 39 | /* Events from read() */ | ||
| 40 | #define CXL_READ_MIN_SIZE 0x1000 /* 4K */ | 40 | #define CXL_READ_MIN_SIZE 0x1000 /* 4K */ |
| 41 | 41 | ||
| 42 | /* Events from read() */ | ||
| 42 | enum cxl_event_type { | 43 | enum cxl_event_type { |
| 43 | CXL_EVENT_RESERVED = 0, | 44 | CXL_EVENT_RESERVED = 0, |
| 44 | CXL_EVENT_AFU_INTERRUPT = 1, | 45 | CXL_EVENT_AFU_INTERRUPT = 1, |
