On Fri, 21 Aug 2015 09:42:35 +0200,
David Henningsson wrote:
> 
> On shutdown/reboot of CX20722, first shut down all EAPDs, then
> shut down the afg node to D3.
> 
> Failure to do so can lead to spurious noises from the internal speaker
> directly after reboot (and before the codec is reinitialized again, i e
> in BIOS setup or GRUB menus).
> 
> BugLink: https://bugs.launchpad.net/bugs/1487345
> Signed-off-by: David Henningsson <david.hennings...@canonical.com>

It's worth for stable, right?


Takashi

> ---
>  sound/pci/hda/patch_conexant.c | 23 ++++++++++++++++++++++-
>  1 file changed, 22 insertions(+), 1 deletion(-)
> 
> diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c
> index f788a91..ca03c40 100644
> --- a/sound/pci/hda/patch_conexant.c
> +++ b/sound/pci/hda/patch_conexant.c
> @@ -200,12 +200,33 @@ static int cx_auto_init(struct hda_codec *codec)
>       return 0;
>  }
>  
> -#define cx_auto_free snd_hda_gen_free
> +static void cx_auto_reboot_notify(struct hda_codec *codec)
> +{
> +     struct conexant_spec *spec = codec->spec;
> +
> +     if (codec->core.vendor_id != 0x14f150f2)
> +             return;
> +
> +     /* Turn the CX20722 codec into D3 to avoid spurious noises
> +        from the internal speaker during (and after) reboot */
> +     cx_auto_turn_eapd(codec, spec->num_eapds, spec->eapds, false);
> +
> +     snd_hda_codec_set_power_to_all(codec, codec->core.afg, AC_PWRST_D3);
> +     snd_hda_codec_write(codec, codec->core.afg, 0,
> +                         AC_VERB_SET_POWER_STATE, AC_PWRST_D3);
> +}
> +
> +static void cx_auto_free(struct hda_codec *codec)
> +{
> +     cx_auto_reboot_notify(codec);
> +     snd_hda_gen_free(codec);
> +}
>  
>  static const struct hda_codec_ops cx_auto_patch_ops = {
>       .build_controls = cx_auto_build_controls,
>       .build_pcms = snd_hda_gen_build_pcms,
>       .init = cx_auto_init,
> +     .reboot_notify = cx_auto_reboot_notify,
>       .free = cx_auto_free,
>       .unsol_event = snd_hda_jack_unsol_event,
>  #ifdef CONFIG_PM
> -- 
> 1.9.1
>

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1487345

Title:
  Noises from CX20722 codec after reboot

To manage notifications about this bug go to:
https://bugs.launchpad.net/hwe-next/+bug/1487345/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to