aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/ABI
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2008-02-06 01:26:55 -0500
committerLen Brown <len.brown@intel.com>2008-02-06 22:27:06 -0500
commit5229e87d59cef33539322948bd8e3b5a537f7c97 (patch)
tree711a5708474fc79dbe599fae35f3e50d0a037ca0 /Documentation/ABI
parent21511abd0a248a3f225d3b611cfabb93124605a7 (diff)
ACPI: create /sys/firmware/acpi/interrupts
See Documentation/ABI/testing/sysfs-firmware-acpi Based-on-original-patch-by: Luming Yu <luming.yu@intel.com> Acked-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'Documentation/ABI')
-rw-r--r--Documentation/ABI/testing/sysfs-firmware-acpi99
1 files changed, 99 insertions, 0 deletions
diff --git a/Documentation/ABI/testing/sysfs-firmware-acpi b/Documentation/ABI/testing/sysfs-firmware-acpi
new file mode 100644
index 000000000000..9470ed9afcc0
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-firmware-acpi
@@ -0,0 +1,99 @@
1What: /sys/firmware/acpi/interrupts/
2Date: February 2008
3Contact: Len Brown <lenb@kernel.org>
4Description:
5 All ACPI interrupts are handled via a single IRQ,
6 the System Control Interrupt (SCI), which appears
7 as "acpi" in /proc/interrupts.
8
9 However, one of the main functions of ACPI is to make
10 the platform understand random hardware without
11 special driver support. So while the SCI handles a few
12 well known (fixed feature) interrupts sources, such
13 as the power button, it can also handle a variable
14 number of a "General Purpose Events" (GPE).
15
16 A GPE vectors to a specified handler in AML, which
17 can do a anything the BIOS writer wants from
18 OS context. GPE 0x12, for example, would vector
19 to a level or edge handler called _L12 or _E12.
20 The handler may do its business and return.
21 Or the handler may send send a Notify event
22 to a Linux device driver registered on an ACPI device,
23 such as a battery, or a processor.
24
25 To figure out where all the SCI's are coming from,
26 /sys/firmware/acpi/interrupts contains a file listing
27 every possible source, and the count of how many
28 times it has triggered.
29
30 $ cd /sys/firmware/acpi/interrupts
31 $ grep . *
32 error:0
33 ff_gbl_lock:0
34 ff_pmtimer:0
35 ff_pwr_btn:0
36 ff_rt_clk:0
37 ff_slp_btn:0
38 gpe00:0
39 gpe01:0
40 gpe02:0
41 gpe03:0
42 gpe04:0
43 gpe05:0
44 gpe06:0
45 gpe07:0
46 gpe08:0
47 gpe09:174
48 gpe0A:0
49 gpe0B:0
50 gpe0C:0
51 gpe0D:0
52 gpe0E:0
53 gpe0F:0
54 gpe10:0
55 gpe11:60
56 gpe12:0
57 gpe13:0
58 gpe14:0
59 gpe15:0
60 gpe16:0
61 gpe17:0
62 gpe18:0
63 gpe19:7
64 gpe1A:0
65 gpe1B:0
66 gpe1C:0
67 gpe1D:0
68 gpe1E:0
69 gpe1F:0
70 gpe_all:241
71 sci:241
72
73 sci - The total number of times the ACPI SCI
74 has claimed an interrupt.
75
76 gpe_all - count of SCI caused by GPEs.
77
78 gpeXX - count for individual GPE source
79
80 ff_gbl_lock - Global Lock
81
82 ff_pmtimer - PM Timer
83
84 ff_pwr_btn - Power Button
85
86 ff_rt_clk - Real Time Clock
87
88 ff_slp_btn - Sleep Button
89
90 error - an interrupt that can't be accounted for above.
91
92 Root has permission to clear any of these counters. Eg.
93 # echo 0 > gpe11
94
95 All counters can be cleared by clearing the total "sci":
96 # echo 0 > sci
97
98 None of these counters has an effect on the function
99 of the system, they are simply statistics.