diff mbox

ALSA: hda - Enable power_save_node for CX20722

Message ID 1449154017-5256-1-git-send-email-david.henningsson@canonical.com (mailing list archive)
State New, archived
Headers show

Commit Message

David Henningsson Dec. 3, 2015, 2:46 p.m. UTC
I've tested it on one device and it works fine, no clicks.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
---

Alsa-info for this device is available here: https://launchpadlibrarian.net/228090406/AlsaInfo.txt

Possibly it works well for other chips too, but this is the only one
I have tested.

Btw; I noticed another thing which I wonder whether it's correct or not:
If I run "hda-emu AlsaInfo.txt", all nodes are in D3. But after running "P 0 p",
some nodes (e g the internal speaker pin) stays in D0. Is that expected?
I thought all pins would go down to D3 when playback closes.
Same behaviour is seen on the real hardware, too.

 sound/pci/hda/patch_conexant.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Takashi Iwai Dec. 3, 2015, 2:57 p.m. UTC | #1
On Thu, 03 Dec 2015 15:46:57 +0100,
David Henningsson wrote:
> 
> I've tested it on one device and it works fine, no clicks.
> 
> Signed-off-by: David Henningsson <david.henningsson@canonical.com>

OK, applied now.


> ---
> 
> Alsa-info for this device is available here: https://launchpadlibrarian.net/228090406/AlsaInfo.txt
> 
> Possibly it works well for other chips too, but this is the only one
> I have tested.
> 
> Btw; I noticed another thing which I wonder whether it's correct or not:
> If I run "hda-emu AlsaInfo.txt", all nodes are in D3. But after running "P 0 p",
> some nodes (e g the internal speaker pin) stays in D0. Is that expected?

Yes.

> I thought all pins would go down to D3 when playback closes.
> Same behaviour is seen on the real hardware, too.

It's for sticky converter.  There was an issue where powering up/down
there triggers the click noise.  So we keep the converter and the rest
on as default once when assigned and used.

This can be likely optimized out with the modern chips, I suppose.


thanks,

Takashi

> 
>  sound/pci/hda/patch_conexant.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c
> index ef19890..6122b8c 100644
> --- a/sound/pci/hda/patch_conexant.c
> +++ b/sound/pci/hda/patch_conexant.c
> @@ -901,6 +901,9 @@ static int patch_conexant_auto(struct hda_codec *codec)
>  		snd_hda_pick_fixup(codec, cxt5051_fixup_models,
>  				   cxt5051_fixups, cxt_fixups);
>  		break;
> +	case 0x14f150f2:
> +		codec->power_save_node = 1;
> +		/* Fall through */
>  	default:
>  		codec->pin_amp_workaround = 1;
>  		snd_hda_pick_fixup(codec, cxt5066_fixup_models,
> -- 
> 1.9.1
>
diff mbox

Patch

diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c
index ef19890..6122b8c 100644
--- a/sound/pci/hda/patch_conexant.c
+++ b/sound/pci/hda/patch_conexant.c
@@ -901,6 +901,9 @@  static int patch_conexant_auto(struct hda_codec *codec)
 		snd_hda_pick_fixup(codec, cxt5051_fixup_models,
 				   cxt5051_fixups, cxt_fixups);
 		break;
+	case 0x14f150f2:
+		codec->power_save_node = 1;
+		/* Fall through */
 	default:
 		codec->pin_amp_workaround = 1;
 		snd_hda_pick_fixup(codec, cxt5066_fixup_models,