aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/sound/alsa/ALSA-Configuration.txt10
-rw-r--r--sound/pci/hda/hda_intel.c25
2 files changed, 21 insertions, 14 deletions
diff --git a/Documentation/sound/alsa/ALSA-Configuration.txt b/Documentation/sound/alsa/ALSA-Configuration.txt
index f71ed680d33c..2bdabe23bc70 100644
--- a/Documentation/sound/alsa/ALSA-Configuration.txt
+++ b/Documentation/sound/alsa/ALSA-Configuration.txt
@@ -768,6 +768,10 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
768 single_cmd - Use single immediate commands to communicate with 768 single_cmd - Use single immediate commands to communicate with
769 codecs (for debugging only) 769 codecs (for debugging only)
770 enable_msi - Enable Message Signaled Interrupt (MSI) (default = off) 770 enable_msi - Enable Message Signaled Interrupt (MSI) (default = off)
771 power_save - Automatic power-saving timtout (in second, 0 =
772 disable, default = 10)
773 power_save_controller - Reset HD-audio controller in power-saving mode
774 (default = on)
771 775
772 This module supports one card and autoprobe. 776 This module supports one card and autoprobe.
773 777
@@ -993,6 +997,12 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
993 subsystem ID (output of "lspci -nv") to ALSA BTS or alsa-devel 997 subsystem ID (output of "lspci -nv") to ALSA BTS or alsa-devel
994 ML (see the section "Links and Addresses"). 998 ML (see the section "Links and Addresses").
995 999
1000 When CONFIG_SND_HDA_POWER_SAVE is set, two options, power_save and
1001 power_save_controller become available. power_save specifies the
1002 time to turn off the power automatically at idle status. When
1003 power_save_controller is true, the controller is also turned off.
1004 This might result in more obvious click noise at turning on/off.
1005
996 Note 2: If you get click noises on output, try the module option 1006 Note 2: If you get click noises on output, try the module option
997 position_fix=1 or 2. position_fix=1 will use the SD_LPIB 1007 position_fix=1 or 2. position_fix=1 will use the SD_LPIB
998 register value without FIFO size correction as the current 1008 register value without FIFO size correction as the current
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index f9c7c2e4f922..e20629a2d7d1 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -75,8 +75,18 @@ MODULE_PARM_DESC(single_cmd, "Use single command to communicate with codecs "
75module_param(enable_msi, int, 0); 75module_param(enable_msi, int, 0);
76MODULE_PARM_DESC(enable_msi, "Enable Message Signaled Interrupt (MSI)"); 76MODULE_PARM_DESC(enable_msi, "Enable Message Signaled Interrupt (MSI)");
77 77
78#ifdef CONFIG_SND_HDA_POWER_SAVE
78/* power_save option is defined in hda_codec.c */ 79/* power_save option is defined in hda_codec.c */
79 80
81/* reset the HD-audio controller in power save mode.
82 * this may give more power-saving, but will take longer time to
83 * wake up.
84 */
85static int power_save_controller = 1;
86module_param(power_save_controller, bool, 0644);
87MODULE_PARM_DESC(power_save_controller, "Reset controller in power save mode.");
88#endif
89
80/* just for backward compatibility */ 90/* just for backward compatibility */
81static int enable; 91static int enable;
82module_param(enable, bool, 0444); 92module_param(enable, bool, 0444);
@@ -102,17 +112,6 @@ MODULE_DESCRIPTION("Intel HDA driver");
102 112
103#define SFX "hda-intel: " 113#define SFX "hda-intel: "
104 114
105/*
106 * build flags
107 */
108
109/*
110 * reset the HD-audio controller in power save mode.
111 * this may give more power-saving, but will take longer time to
112 * wake up.
113 */
114#define HDA_POWER_SAVE_RESET_CONTROLLER
115
116 115
117/* 116/*
118 * registers 117 * registers
@@ -1533,10 +1532,8 @@ static void azx_power_notify(struct hda_codec *codec)
1533 } 1532 }
1534 if (power_on) 1533 if (power_on)
1535 azx_init_chip(chip); 1534 azx_init_chip(chip);
1536#ifdef HDA_POWER_SAVE_RESET_CONTROLLER 1535 else if (chip->running && power_save_controller)
1537 else if (chip->running)
1538 azx_stop_chip(chip); 1536 azx_stop_chip(chip);
1539#endif
1540} 1537}
1541#endif /* CONFIG_SND_HDA_POWER_SAVE */ 1538#endif /* CONFIG_SND_HDA_POWER_SAVE */
1542 1539