diff options
-rw-r--r-- | Documentation/sound/alsa/ALSA-Configuration.txt | 10 | ||||
-rw-r--r-- | sound/pci/hda/hda_intel.c | 25 |
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 " | |||
75 | module_param(enable_msi, int, 0); | 75 | module_param(enable_msi, int, 0); |
76 | MODULE_PARM_DESC(enable_msi, "Enable Message Signaled Interrupt (MSI)"); | 76 | MODULE_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 | */ | ||
85 | static int power_save_controller = 1; | ||
86 | module_param(power_save_controller, bool, 0644); | ||
87 | MODULE_PARM_DESC(power_save_controller, "Reset controller in power save mode."); | ||
88 | #endif | ||
89 | |||
80 | /* just for backward compatibility */ | 90 | /* just for backward compatibility */ |
81 | static int enable; | 91 | static int enable; |
82 | module_param(enable, bool, 0444); | 92 | module_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 | ||