* [PATCH] ALSA: hda - Revert power_save option default value
@ 2018-03-12 13:04 Takashi Iwai
2018-03-12 13:14 ` Hans de Goede
0 siblings, 1 reply; 2+ messages in thread
From: Takashi Iwai @ 2018-03-12 13:04 UTC (permalink / raw)
To: alsa-devel; +Cc: Hans de Goede
With the commit 1ba8f9d30817 ("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: 1ba8f9d30817 ("ALSA: hda: Add a power_save blacklist")
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
sound/pci/hda/hda_intel.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index 96143df19b21..d5017adf9feb 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -181,11 +181,15 @@ static const struct kernel_param_ops param_ops_xint = {
};
#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_PARM_DESC(power_save, "Automatic power-saving timeout "
"(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.
* this may give more power-saving, but will take longer time to
* wake up.
@@ -2300,10 +2304,9 @@ static int azx_probe_continue(struct azx *chip)
val = power_save;
#ifdef CONFIG_PM
- if (val == -1) {
+ if (pm_blacklist) {
const struct snd_pci_quirk *q;
- val = CONFIG_SND_HDA_POWER_SAVE_DEFAULT;
q = snd_pci_quirk_lookup(chip->pci, power_save_blacklist);
if (q && val) {
dev_info(chip->card->dev, "device %04x:%04x is on the power_save blacklist, forcing power_save to 0\n",
--
2.16.2
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] ALSA: hda - Revert power_save option default value
2018-03-12 13:04 [PATCH] ALSA: hda - Revert power_save option default value Takashi Iwai
@ 2018-03-12 13:14 ` Hans de Goede
0 siblings, 0 replies; 2+ messages in thread
From: Hans de Goede @ 2018-03-12 13:14 UTC (permalink / raw)
To: Takashi Iwai, alsa-devel
Hi,
On 12-03-18 14:04, Takashi Iwai wrote:
> With the commit 1ba8f9d30817 ("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: 1ba8f9d30817 ("ALSA: hda: Add a power_save blacklist")
> Cc: <stable@vger.kernel.org>
> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Thank you for taking care of this and not just reverting my patch.
Your fix looks good to me:
Acked-by: Hans de Goede <hdegoede@redhat.com>
Regards,
Hans
> ---
> sound/pci/hda/hda_intel.c | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
> index 96143df19b21..d5017adf9feb 100644
> --- a/sound/pci/hda/hda_intel.c
> +++ b/sound/pci/hda/hda_intel.c
> @@ -181,11 +181,15 @@ static const struct kernel_param_ops param_ops_xint = {
> };
> #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_PARM_DESC(power_save, "Automatic power-saving timeout "
> "(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.
> * this may give more power-saving, but will take longer time to
> * wake up.
> @@ -2300,10 +2304,9 @@ static int azx_probe_continue(struct azx *chip)
>
> val = power_save;
> #ifdef CONFIG_PM
> - if (val == -1) {
> + if (pm_blacklist) {
> const struct snd_pci_quirk *q;
>
> - val = CONFIG_SND_HDA_POWER_SAVE_DEFAULT;
> q = snd_pci_quirk_lookup(chip->pci, power_save_blacklist);
> if (q && val) {
> dev_info(chip->card->dev, "device %04x:%04x is on the power_save blacklist, forcing power_save to 0\n",
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-03-12 13:14 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-03-12 13:04 [PATCH] ALSA: hda - Revert power_save option default value Takashi Iwai
2018-03-12 13:14 ` Hans de Goede
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).