xref: /linux/Documentation/sound/designs/powersave.rst (revision 9095bf25ea08135a5b74875dd0e3eeaddc4218a0)
1*48e92b48STakashi Iwai==========================
2*48e92b48STakashi IwaiNotes on Power-Saving Mode
3*48e92b48STakashi Iwai==========================
4*48e92b48STakashi Iwai
5*48e92b48STakashi IwaiAC97 and HD-audio drivers have the automatic power-saving mode.
6*48e92b48STakashi IwaiThis feature is enabled via Kconfig ``CONFIG_SND_AC97_POWER_SAVE``
7*48e92b48STakashi Iwaiand ``CONFIG_SND_HDA_POWER_SAVE`` options, respectively.
8*48e92b48STakashi Iwai
9*48e92b48STakashi IwaiWith the automatic power-saving, the driver turns off the codec power
10*48e92b48STakashi Iwaiappropriately when no operation is required.  When no applications use
11*48e92b48STakashi Iwaithe device and/or no analog loopback is set, the power disablement is
12*48e92b48STakashi Iwaidone fully or partially.  It'll save a certain power consumption, thus
13*48e92b48STakashi Iwaigood for laptops (even for desktops).
14*48e92b48STakashi Iwai
15*48e92b48STakashi IwaiThe time-out for automatic power-off can be specified via ``power_save``
16*48e92b48STakashi Iwaimodule option of snd-ac97-codec and snd-hda-intel modules.  Specify
17*48e92b48STakashi Iwaithe time-out value in seconds.  0 means to disable the automatic
18*48e92b48STakashi Iwaipower-saving.  The default value of timeout is given via
19*48e92b48STakashi Iwai``CONFIG_SND_AC97_POWER_SAVE_DEFAULT`` and
20*48e92b48STakashi Iwai``CONFIG_SND_HDA_POWER_SAVE_DEFAULT`` Kconfig options.  Setting this to 1
21*48e92b48STakashi Iwai(the minimum value) isn't recommended because many applications try to
22*48e92b48STakashi Iwaireopen the device frequently.  10 would be a good choice for normal
23*48e92b48STakashi Iwaioperations.
24*48e92b48STakashi Iwai
25*48e92b48STakashi IwaiThe ``power_save`` option is exported as writable.  This means you can
26*48e92b48STakashi Iwaiadjust the value via sysfs on the fly.  For example, to turn on the
27*48e92b48STakashi Iwaiautomatic power-save mode with 10 seconds, write to
28*48e92b48STakashi Iwai``/sys/modules/snd_ac97_codec/parameters/power_save`` (usually as root):
29*48e92b48STakashi Iwai::
30*48e92b48STakashi Iwai
31*48e92b48STakashi Iwai	# echo 10 > /sys/modules/snd_ac97_codec/parameters/power_save
32*48e92b48STakashi Iwai
33*48e92b48STakashi Iwai
34*48e92b48STakashi IwaiNote that you might hear click noise/pop when changing the power
35*48e92b48STakashi Iwaistate.  Also, it often takes certain time to wake up from the
36*48e92b48STakashi Iwaipower-down to the active state.  These are often hardly to fix, so
37*48e92b48STakashi Iwaidon't report extra bug reports unless you have a fix patch ;-)
38*48e92b48STakashi Iwai
39*48e92b48STakashi IwaiFor HD-audio interface, there is another module option,
40*48e92b48STakashi Iwaipower_save_controller.  This enables/disables the power-save mode of
41*48e92b48STakashi Iwaithe controller side.  Setting this on may reduce a bit more power
42*48e92b48STakashi Iwaiconsumption, but might result in longer wake-up time and click noise.
43*48e92b48STakashi IwaiTry to turn it off when you experience such a thing too often.
44