1 .. SPDX-License-Identifier: GPL-2.0 2 .. include:: <isonum.txt> 3 4 ============================================== 5 Special Usage Model of the ACPI Control Method 6 ============================================== 7 8 :Copyright: |copy| 2016, Intel Corporation 9 10 :Author: Lv Zheng <lv.zheng@intel.com> 11 12 Abstract 13 ======== 14 Platforms containing lids convey lid state (op 15 using a control method lid device. To implemen 16 Notify(lid_device, 0x80) to notify the OSPMs w 17 changed. The _LID control method for the lid d 18 report the "current" state of the lid as eithe 19 20 For most platforms, both the _LID method and t 21 reliable. However, there are exceptions. In or 22 exceptional buggy platforms, special restricti 23 taken into account. This document describes th 24 exceptions of the Linux ACPI lid device driver 25 26 27 Restrictions of the returning value of the _LI 28 ============================================== 29 30 The _LID control method is described to return 31 However the word of "current" has ambiguity, s 32 the lid state upon the last lid notification i 33 state upon the last _LID evaluation. There won 34 _LID control method is evaluated during the ru 35 initial returning value. When the AML tables i 36 with cached value, the initial returning value 37 There are platforms always return "closed" as 38 39 Restrictions of the lid state change notificat 40 ============================================== 41 42 There are buggy AML tables never notifying whe 43 changed to "opened". Thus the "opened" notific 44 it is guaranteed that the AML tables always no 45 state is changed to "closed". The "closed" not 46 trigger some system power saving operations on 47 tested, it is reliable from all AML tables. 48 49 Exceptions for the userspace users of the ACPI 50 ============================================== 51 52 The ACPI button driver exports the lid state t 53 following file:: 54 55 /proc/acpi/button/lid/LID0/state 56 57 This file actually calls the _LID control meth 58 the previous explanation, it is not reliable e 59 it is advised for the userspace program to not 60 to determine the actual lid state. 61 62 The ACPI button driver emits the following inp 63 * SW_LID 64 65 The ACPI lid device driver is implemented to t 66 triggered events to the userspace. However, gi 67 firmware cannot make sure "opened"/"closed" ev 68 button driver uses the following 3 modes in or 69 70 If the userspace hasn't been prepared to ignor 71 events and the unreliable initial state notifi 72 the following kernel parameters to handle the 73 74 A. button.lid_init_state=method: 75 When this option is specified, the ACPI but 76 initial lid state using the returning value 77 and whether the "opened"/"closed" events ar 78 firmware implementation. 79 80 This option can be used to fix some platfor 81 of the _LID control method is reliable but 82 notification is missing. 83 84 This option is the default behavior during 85 isn't ready to handle the buggy AML tables. 86 87 B. button.lid_init_state=open: 88 When this option is specified, the ACPI but 89 initial lid state as "opened" and whether t 90 are paired fully relies on the firmware imp 91 92 This may fix some platforms where the retur 93 control method is not reliable and the init 94 missing. 95 96 If the userspace has been prepared to ignore t 97 and the unreliable initial state notification, 98 use the following kernel parameter: 99 100 C. button.lid_init_state=ignore: 101 When this option is specified, the ACPI but 102 initial lid state and there is a compensati 103 ensure that the reliable "closed" notificat 104 to the userspace by always pairing "closed" 105 "opened" input events. But there is still n 106 notifications can be delivered to the users 107 opens given that some AML tables do not sen 108 reliably. 109 110 In this mode, if everything is correctly im 111 firmware, the old userspace programs should 112 new userspace programs are required to work 113 This option will be the default behavior af 114 handle the buggy AML tables.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.