Kyle Swenson | 8d8f654 | 2021-03-15 11:02:55 -0600 | [diff] [blame^] | 1 | Notes on Power-Saving Mode |
| 2 | ========================== |
| 3 | |
| 4 | AC97 and HD-audio drivers have the automatic power-saving mode. |
| 5 | This feature is enabled via Kconfig CONFIG_SND_AC97_POWER_SAVE |
| 6 | and CONFIG_SND_HDA_POWER_SAVE options, respectively. |
| 7 | |
| 8 | With the automatic power-saving, the driver turns off the codec power |
| 9 | appropriately when no operation is required. When no applications use |
| 10 | the device and/or no analog loopback is set, the power disablement is |
| 11 | done fully or partially. It'll save a certain power consumption, thus |
| 12 | good for laptops (even for desktops). |
| 13 | |
| 14 | The time-out for automatic power-off can be specified via power_save |
| 15 | module option of snd-ac97-codec and snd-hda-intel modules. Specify |
| 16 | the time-out value in seconds. 0 means to disable the automatic |
| 17 | power-saving. The default value of timeout is given via |
| 18 | CONFIG_SND_AC97_POWER_SAVE_DEFAULT and |
| 19 | CONFIG_SND_HDA_POWER_SAVE_DEFAULT Kconfig options. Setting this to 1 |
| 20 | (the minimum value) isn't recommended because many applications try to |
| 21 | reopen the device frequently. 10 would be a good choice for normal |
| 22 | operations. |
| 23 | |
| 24 | The power_save option is exported as writable. This means you can |
| 25 | adjust the value via sysfs on the fly. For example, to turn on the |
| 26 | automatic power-save mode with 10 seconds, write to |
| 27 | /sys/modules/snd_ac97_codec/parameters/power_save (usually as root): |
| 28 | |
| 29 | # echo 10 > /sys/modules/snd_ac97_codec/parameters/power_save |
| 30 | |
| 31 | |
| 32 | Note that you might hear click noise/pop when changing the power |
| 33 | state. Also, it often takes certain time to wake up from the |
| 34 | power-down to the active state. These are often hardly to fix, so |
| 35 | don't report extra bug reports unless you have a fix patch ;-) |
| 36 | |
| 37 | For HD-audio interface, there is another module option, |
| 38 | power_save_controller. This enables/disables the power-save mode of |
| 39 | the controller side. Setting this on may reduce a bit more power |
| 40 | consumption, but might result in longer wake-up time and click noise. |
| 41 | Try to turn it off when you experience such a thing too often. |