ALSA: hda - Revert power_save option default value
With the commit1ba8f9d308
("ALSA: hda: Add a power_save blacklist"), we changed the default value of power_save option to -1 for processing the power-save blacklist. Unfortunately, this seems breaking user-space applications that actually read the power_save parameter value via sysfs and judge / adjust the power-saving status. They see the value -1 as if the power-save is turned off, although the actual value is taken from CONFIG_SND_HDA_POWER_SAVE_DEFAULT and it can be a positive. So, overall, passing -1 there was no good idea. Let's partially revert it -- at least for power_save option default value is restored again to CONFIG_SND_HDA_POWER_SAVE_DEFAULT. Meanwhile, in this patch, we keep the blacklist behavior and make is adjustable via the new option, pm_blacklist. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=199073 Fixes:1ba8f9d308
("ALSA: hda: Add a power_save blacklist") Acked-by: Hans de Goede <hdegoede@redhat.com> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
01c0b4265c
commit
40088dc4e1
@ -181,11 +181,15 @@ static const struct kernel_param_ops param_ops_xint = {
|
|||||||
};
|
};
|
||||||
#define param_check_xint param_check_int
|
#define param_check_xint param_check_int
|
||||||
|
|
||||||
static int power_save = -1;
|
static int power_save = CONFIG_SND_HDA_POWER_SAVE_DEFAULT;
|
||||||
module_param(power_save, xint, 0644);
|
module_param(power_save, xint, 0644);
|
||||||
MODULE_PARM_DESC(power_save, "Automatic power-saving timeout "
|
MODULE_PARM_DESC(power_save, "Automatic power-saving timeout "
|
||||||
"(in second, 0 = disable).");
|
"(in second, 0 = disable).");
|
||||||
|
|
||||||
|
static bool pm_blacklist = true;
|
||||||
|
module_param(pm_blacklist, bool, 0644);
|
||||||
|
MODULE_PARM_DESC(pm_blacklist, "Enable power-management blacklist");
|
||||||
|
|
||||||
/* reset the HD-audio controller in power save mode.
|
/* reset the HD-audio controller in power save mode.
|
||||||
* this may give more power-saving, but will take longer time to
|
* this may give more power-saving, but will take longer time to
|
||||||
* wake up.
|
* wake up.
|
||||||
@ -2300,10 +2304,9 @@ static int azx_probe_continue(struct azx *chip)
|
|||||||
|
|
||||||
val = power_save;
|
val = power_save;
|
||||||
#ifdef CONFIG_PM
|
#ifdef CONFIG_PM
|
||||||
if (val == -1) {
|
if (pm_blacklist) {
|
||||||
const struct snd_pci_quirk *q;
|
const struct snd_pci_quirk *q;
|
||||||
|
|
||||||
val = CONFIG_SND_HDA_POWER_SAVE_DEFAULT;
|
|
||||||
q = snd_pci_quirk_lookup(chip->pci, power_save_blacklist);
|
q = snd_pci_quirk_lookup(chip->pci, power_save_blacklist);
|
||||||
if (q && val) {
|
if (q && val) {
|
||||||
dev_info(chip->card->dev, "device %04x:%04x is on the power_save blacklist, forcing power_save to 0\n",
|
dev_info(chip->card->dev, "device %04x:%04x is on the power_save blacklist, forcing power_save to 0\n",
|
||||||
|
Loading…
Reference in New Issue
Block a user