diff options
author | Changbin Du <changbin.du@gmail.com> | 2019-04-24 13:53:06 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2019-04-25 17:07:20 -0400 |
commit | 7fb091f806c55da593b93bc858d81203a9597257 (patch) | |
tree | fc235b273d213e74c31ed3ca4638b00b1f8aef6e | |
parent | 7fe19072df5555425268f9452059d3c514c6780f (diff) |
Documentation: ACPI: move video_extension.txt to firmware-guide/acpi and convert to reST
This converts the plain text documentation to reStructuredText format
and adds it to Sphinx TOC tree.
No essential content change.
Signed-off-by: Changbin Du <changbin.du@gmail.com>
Reviewed-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r-- | Documentation/firmware-guide/acpi/index.rst | 1 | ||||
-rw-r--r-- | Documentation/firmware-guide/acpi/video_extension.rst (renamed from Documentation/acpi/video_extension.txt) | 83 |
2 files changed, 50 insertions, 34 deletions
diff --git a/Documentation/firmware-guide/acpi/index.rst b/Documentation/firmware-guide/acpi/index.rst index 0e60f4b7129a..ae609eec4679 100644 --- a/Documentation/firmware-guide/acpi/index.rst +++ b/Documentation/firmware-guide/acpi/index.rst | |||
@@ -23,3 +23,4 @@ ACPI Support | |||
23 | i2c-muxes | 23 | i2c-muxes |
24 | acpi-lid | 24 | acpi-lid |
25 | lpit | 25 | lpit |
26 | video_extension | ||
diff --git a/Documentation/acpi/video_extension.txt b/Documentation/firmware-guide/acpi/video_extension.rst index 79bf6a4921be..099b8607e07b 100644 --- a/Documentation/acpi/video_extension.txt +++ b/Documentation/firmware-guide/acpi/video_extension.rst | |||
@@ -1,5 +1,8 @@ | |||
1 | .. SPDX-License-Identifier: GPL-2.0 | ||
2 | |||
3 | ===================== | ||
1 | ACPI video extensions | 4 | ACPI video extensions |
2 | ~~~~~~~~~~~~~~~~~~~~~ | 5 | ===================== |
3 | 6 | ||
4 | This driver implement the ACPI Extensions For Display Adapters for | 7 | This driver implement the ACPI Extensions For Display Adapters for |
5 | integrated graphics devices on motherboard, as specified in ACPI 2.0 | 8 | integrated graphics devices on motherboard, as specified in ACPI 2.0 |
@@ -8,9 +11,10 @@ defining the video POST device, retrieving EDID information or to | |||
8 | setup a video output, etc. Note that this is an ref. implementation | 11 | setup a video output, etc. Note that this is an ref. implementation |
9 | only. It may or may not work for your integrated video device. | 12 | only. It may or may not work for your integrated video device. |
10 | 13 | ||
11 | The ACPI video driver does 3 things regarding backlight control: | 14 | The ACPI video driver does 3 things regarding backlight control. |
12 | 15 | ||
13 | 1 Export a sysfs interface for user space to control backlight level | 16 | Export a sysfs interface for user space to control backlight level |
17 | ================================================================== | ||
14 | 18 | ||
15 | If the ACPI table has a video device, and acpi_backlight=vendor kernel | 19 | If the ACPI table has a video device, and acpi_backlight=vendor kernel |
16 | command line is not present, the driver will register a backlight device | 20 | command line is not present, the driver will register a backlight device |
@@ -22,36 +26,41 @@ The backlight sysfs interface has a standard definition here: | |||
22 | Documentation/ABI/stable/sysfs-class-backlight. | 26 | Documentation/ABI/stable/sysfs-class-backlight. |
23 | 27 | ||
24 | And what ACPI video driver does is: | 28 | And what ACPI video driver does is: |
25 | actual_brightness: on read, control method _BQC will be evaluated to | 29 | |
26 | get the brightness level the firmware thinks it is at; | 30 | actual_brightness: |
27 | bl_power: not implemented, will set the current brightness instead; | 31 | on read, control method _BQC will be evaluated to |
28 | brightness: on write, control method _BCM will run to set the requested | 32 | get the brightness level the firmware thinks it is at; |
29 | brightness level; | 33 | bl_power: |
30 | max_brightness: Derived from the _BCL package(see below); | 34 | not implemented, will set the current brightness instead; |
31 | type: firmware | 35 | brightness: |
36 | on write, control method _BCM will run to set the requested brightness level; | ||
37 | max_brightness: | ||
38 | Derived from the _BCL package(see below); | ||
39 | type: | ||
40 | firmware | ||
32 | 41 | ||
33 | Note that ACPI video backlight driver will always use index for | 42 | Note that ACPI video backlight driver will always use index for |
34 | brightness, actual_brightness and max_brightness. So if we have | 43 | brightness, actual_brightness and max_brightness. So if we have |
35 | the following _BCL package: | 44 | the following _BCL package:: |
36 | 45 | ||
37 | Method (_BCL, 0, NotSerialized) | 46 | Method (_BCL, 0, NotSerialized) |
38 | { | ||
39 | Return (Package (0x0C) | ||
40 | { | 47 | { |
41 | 0x64, | 48 | Return (Package (0x0C) |
42 | 0x32, | 49 | { |
43 | 0x0A, | 50 | 0x64, |
44 | 0x14, | 51 | 0x32, |
45 | 0x1E, | 52 | 0x0A, |
46 | 0x28, | 53 | 0x14, |
47 | 0x32, | 54 | 0x1E, |
48 | 0x3C, | 55 | 0x28, |
49 | 0x46, | 56 | 0x32, |
50 | 0x50, | 57 | 0x3C, |
51 | 0x5A, | 58 | 0x46, |
52 | 0x64 | 59 | 0x50, |
53 | }) | 60 | 0x5A, |
54 | } | 61 | 0x64 |
62 | }) | ||
63 | } | ||
55 | 64 | ||
56 | The first two levels are for when laptop are on AC or on battery and are | 65 | The first two levels are for when laptop are on AC or on battery and are |
57 | not used by Linux currently. The remaining 10 levels are supported levels | 66 | not used by Linux currently. The remaining 10 levels are supported levels |
@@ -62,13 +71,15 @@ as a "brightness level" indicator. Thus from the user space perspective | |||
62 | the range of available brightness levels is from 0 to 9 (max_brightness) | 71 | the range of available brightness levels is from 0 to 9 (max_brightness) |
63 | inclusive. | 72 | inclusive. |
64 | 73 | ||
65 | 2 Notify user space about hotkey event | 74 | Notify user space about hotkey event |
75 | ==================================== | ||
66 | 76 | ||
67 | There are generally two cases for hotkey event reporting: | 77 | There are generally two cases for hotkey event reporting: |
78 | |||
68 | i) For some laptops, when user presses the hotkey, a scancode will be | 79 | i) For some laptops, when user presses the hotkey, a scancode will be |
69 | generated and sent to user space through the input device created by | 80 | generated and sent to user space through the input device created by |
70 | the keyboard driver as a key type input event, with proper remap, the | 81 | the keyboard driver as a key type input event, with proper remap, the |
71 | following key code will appear to user space: | 82 | following key code will appear to user space:: |
72 | 83 | ||
73 | EV_KEY, KEY_BRIGHTNESSUP | 84 | EV_KEY, KEY_BRIGHTNESSUP |
74 | EV_KEY, KEY_BRIGHTNESSDOWN | 85 | EV_KEY, KEY_BRIGHTNESSDOWN |
@@ -84,23 +95,27 @@ ii) For some laptops, the press of the hotkey will not generate the | |||
84 | notify value it received and send the event to user space through the | 95 | notify value it received and send the event to user space through the |
85 | input device it created: | 96 | input device it created: |
86 | 97 | ||
98 | ===== ================== | ||
87 | event keycode | 99 | event keycode |
100 | ===== ================== | ||
88 | 0x86 KEY_BRIGHTNESSUP | 101 | 0x86 KEY_BRIGHTNESSUP |
89 | 0x87 KEY_BRIGHTNESSDOWN | 102 | 0x87 KEY_BRIGHTNESSDOWN |
90 | etc. | 103 | etc. |
104 | ===== ================== | ||
91 | 105 | ||
92 | so this would lead to the same effect as case i) now. | 106 | so this would lead to the same effect as case i) now. |
93 | 107 | ||
94 | Once user space tool receives this event, it can modify the backlight | 108 | Once user space tool receives this event, it can modify the backlight |
95 | level through the sysfs interface. | 109 | level through the sysfs interface. |
96 | 110 | ||
97 | 3 Change backlight level in the kernel | 111 | Change backlight level in the kernel |
112 | ==================================== | ||
98 | 113 | ||
99 | This works for machines covered by case ii) in Section 2. Once the driver | 114 | This works for machines covered by case ii) in Section 2. Once the driver |
100 | received a notification, it will set the backlight level accordingly. This does | 115 | received a notification, it will set the backlight level accordingly. This does |
101 | not affect the sending of event to user space, they are always sent to user | 116 | not affect the sending of event to user space, they are always sent to user |
102 | space regardless of whether or not the video module controls the backlight level | 117 | space regardless of whether or not the video module controls the backlight level |
103 | directly. This behaviour can be controlled through the brightness_switch_enabled | 118 | directly. This behaviour can be controlled through the brightness_switch_enabled |
104 | module parameter as documented in admin-guide/kernel-parameters.rst. It is recommended to | 119 | module parameter as documented in admin-guide/kernel-parameters.rst. It is |
105 | disable this behaviour once a GUI environment starts up and wants to have full | 120 | recommended to disable this behaviour once a GUI environment starts up and |
106 | control of the backlight level. | 121 | wants to have full control of the backlight level. |