History

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux

Pull powerpc updates from Michael Ellerman: "Here's a first pull request for powerpc updates for 3.18. The bulk of the additions are for the "cxl" driver, for IBM's Coherent Accelerator Processor Interface (CAPI). Most of it's in drivers/misc, which Greg & Arnd maintain, Greg said he was happy for us to take it through our tree. There's the usual minor cleanups and fixes, including a bit of noise in drivers from some of those. A bunch of updates to our EEH code, which has been getting more testing. Several nice speedups from Anton, including 20% in clear_page(). And a bunch of updates for freescale from Scott" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux: (130 commits) cxl: Fix afu_read() not doing finish_wait() on signal or non-blocking cxl: Add documentation for userspace APIs cxl: Add driver to Kbuild and Makefiles cxl: Add userspace header file cxl: Driver code for powernv PCIe based cards for userspace access cxl: Add base builtin support powerpc/mm: Add hooks for cxl powerpc/opal: Add PHB to cxl mode call powerpc/mm: Add new hash_page_mm() powerpc/powerpc: Add new PCIe functions for allocating cxl interrupts cxl: Add new header for call backs and structs powerpc/powernv: Split out set MSI IRQ chip code powerpc/mm: Export mmu_kernel_ssize and mmu_linear_psize powerpc/msi: Improve IRQ bitmap allocator powerpc/cell: Make spu_flush_all_slbs() generic powerpc/cell: Move data segment faulting code out of cell platform powerpc/cell: Move spu_handle_mm_fault() out of cell platform powerpc/pseries: Use new defines when calling H_SET_MODE powerpc: Update contact info in Documentation files powerpc/perf/hv-24x7: Simplify catalog_read() ...

Linus Torvalds committed 12 years ago

Commit fd9879b2 parents 81ae31d d53ba6b236 files · +8633 −1566Browse files

Showing the changes to include/uapi (3 of 236 files). Show all

Unified · Split

3 files
  1. include/uapi/Kbuild +1 −0
  2. include/uapi/misc/Kbuild +2 −0
  3. include/uapi/misc/cxl.h +88 −0
include/uapi/Kbuild+1−0
@@ -12,3 +12,4 @@ header-y += video/ · 11 unmodified lines
1212 header-y += drm/
1313 header-y += xen/
1414 header-y += scsi/
15+header-y += misc/
include/uapi/misc/Kbuild+2−0
@@ -0,0 +1,2 @@
1+# misc Header export list
2+header-y += cxl.h
include/uapi/misc/cxl.h+88−0
@@ -0,0 +1,88 @@
1+/*
2+ * Copyright 2014 IBM Corp.
3+ *
4+ * This program is free software; you can redistribute it and/or
5+ * modify it under the terms of the GNU General Public License
6+ * as published by the Free Software Foundation; either version
7+ * 2 of the License, or (at your option) any later version.
8+ */
9+
10+#ifndef _UAPI_MISC_CXL_H
11+#define _UAPI_MISC_CXL_H
12+
13+#include <linux/types.h>
14+#include <linux/ioctl.h>
15+
16+
17+struct cxl_ioctl_start_work {
18+ __u64 flags;
19+ __u64 work_element_descriptor;
20+ __u64 amr;
21+ __s16 num_interrupts;
22+ __s16 reserved1;
23+ __s32 reserved2;
24+ __u64 reserved3;
25+ __u64 reserved4;
26+ __u64 reserved5;
27+ __u64 reserved6;
28+};
29+
30+#define CXL_START_WORK_AMR 0x0000000000000001ULL
31+#define CXL_START_WORK_NUM_IRQS 0x0000000000000002ULL
32+#define CXL_START_WORK_ALL (CXL_START_WORK_AMR |\
33+ CXL_START_WORK_NUM_IRQS)
34+
35+/* ioctl numbers */
36+#define CXL_MAGIC 0xCA
37+#define CXL_IOCTL_START_WORK _IOW(CXL_MAGIC, 0x00, struct cxl_ioctl_start_work)
38+#define CXL_IOCTL_GET_PROCESS_ELEMENT _IOR(CXL_MAGIC, 0x01, __u32)
39+
40+#define CXL_READ_MIN_SIZE 0x1000 /* 4K */
41+
42+/* Events from read() */
43+enum cxl_event_type {
44+ CXL_EVENT_RESERVED = 0,
45+ CXL_EVENT_AFU_INTERRUPT = 1,
46+ CXL_EVENT_DATA_STORAGE = 2,
47+ CXL_EVENT_AFU_ERROR = 3,
48+};
49+
50+struct cxl_event_header {
51+ __u16 type;
52+ __u16 size;
53+ __u16 process_element;
54+ __u16 reserved1;
55+};
56+
57+struct cxl_event_afu_interrupt {
58+ __u16 flags;
59+ __u16 irq; /* Raised AFU interrupt number */
60+ __u32 reserved1;
61+};
62+
63+struct cxl_event_data_storage {
64+ __u16 flags;
65+ __u16 reserved1;
66+ __u32 reserved2;
67+ __u64 addr;
68+ __u64 dsisr;
69+ __u64 reserved3;
70+};
71+
72+struct cxl_event_afu_error {
73+ __u16 flags;
74+ __u16 reserved1;
75+ __u32 reserved2;
76+ __u64 error;
77+};
78+
79+struct cxl_event {
80+ struct cxl_event_header header;
81+ union {
82+ struct cxl_event_afu_interrupt irq;
83+ struct cxl_event_data_storage fault;
84+ struct cxl_event_afu_error afu_error;
85+ };
86+};
87+
88+#endif /* _UAPI_MISC_CXL_H */

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t