~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/firmware-guide/acpi/acpi-lid.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/firmware-guide/acpi/acpi-lid.rst (Version linux-6.12-rc7) and /Documentation/firmware-guide/acpi/acpi-lid.rst (Version linux-4.18.20)


  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.                   
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php