Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc
[sfrench/cifs-2.6.git] / Documentation / ABI / testing / sysfs-firmware-acpi
1 What:           /sys/firmware/acpi/interrupts/
2 Date:           February 2008
3 Contact:        Len Brown <lenb@kernel.org>
4 Description:
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.