1 .. SPDX-License-Identifier: GPL-2.0 2 3 ===================== 4 ACPI video extensions 5 ===================== 6 7 This driver implement the ACPI Extensions For 8 integrated graphics devices on motherboard, as 9 Specification, Appendix B, allowing to perform 10 defining the video POST device, retrieving EDI 11 setup a video output, etc. Note that this is 12 only. It may or may not work for your integra 13 14 The ACPI video driver does 3 things regarding 15 16 Export a sysfs interface for user space to con 17 ============================================== 18 19 If the ACPI table has a video device, and acpi 20 command line is not present, the driver will r 21 and set the required backlight operation struc 22 interface control. For every registered class 23 directory named acpi_videoX under /sys/class/b 24 25 The backlight sysfs interface has a standard d 26 Documentation/ABI/stable/sysfs-class-backlight 27 28 And what ACPI video driver does is: 29 30 actual_brightness: 31 on read, control method _BQC will be evaluat 32 get the brightness level the firmware thinks 33 bl_power: 34 not implemented, will set the current bright 35 brightness: 36 on write, control method _BCM will run to se 37 max_brightness: 38 Derived from the _BCL package(see below); 39 type: 40 firmware 41 42 Note that ACPI video backlight driver will alw 43 brightness, actual_brightness and max_brightne 44 the following _BCL package:: 45 46 Method (_BCL, 0, NotSerialized) 47 { 48 Return (Package (0x0C) 49 { 50 0x64, 51 0x32, 52 0x0A, 53 0x14, 54 0x1E, 55 0x28, 56 0x32, 57 0x3C, 58 0x46, 59 0x50, 60 0x5A, 61 0x64 62 }) 63 } 64 65 The first two levels are for when laptop are o 66 not used by Linux currently. The remaining 10 67 that we can choose from. The applicable index 68 corresponds to the 0x0A brightness value) to 9 69 0x64 brightness value) inclusive. Each of thos 70 as a "brightness level" indicator. Thus from t 71 the range of available brightness levels is fr 72 inclusive. 73 74 Notify user space about hotkey event 75 ==================================== 76 77 There are generally two cases for hotkey event 78 79 i) For some laptops, when user presses the hot 80 generated and sent to user space through th 81 the keyboard driver as a key type input eve 82 following key code will appear to user spac 83 84 EV_KEY, KEY_BRIGHTNESSUP 85 EV_KEY, KEY_BRIGHTNESSDOWN 86 etc. 87 88 For this case, ACPI video driver does not need 89 it doesn't even know this happened). 90 91 ii) For some laptops, the press of the hotkey 92 scancode, instead, firmware will notify th 93 about the event. The event value is define 94 video driver will generate an key type inp 95 notify value it received and send the even 96 input device it created: 97 98 ===== ================== 99 event keycode 100 ===== ================== 101 0x86 KEY_BRIGHTNESSUP 102 0x87 KEY_BRIGHTNESSDOWN 103 etc. 104 ===== ================== 105 106 so this would lead to the same effect as case 107 108 Once user space tool receives this event, it c 109 level through the sysfs interface. 110 111 Change backlight level in the kernel 112 ==================================== 113 114 This works for machines covered by case ii) in 115 received a notification, it will set the backl 116 not affect the sending of event to user space, 117 space regardless of whether or not the video m 118 directly. This behaviour can be controlled thr 119 module parameter as documented in admin-guide/ 120 recommended to disable this behaviour once a G 121 wants to have full control of the backlight le
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.