On Fri, 21 Aug 2015 10:27:23 +0200,
David Henningsson wrote:
>
>
>
> On 2015-08-21 10:26, Takashi Iwai wrote:
> > 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 <email address hidden>
> >
> > It's worth for stable, right?
>
> Right, just forgot it.
On Fri, 21 Aug 2015 10:27:23 +0200, /bugs.launchpad .net/bugs/ 1487345
David Henningsson wrote:
>
>
>
> On 2015-08-21 10:26, Takashi Iwai wrote:
> > 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:/
> >> Signed-off-by: David Henningsson <email address hidden>
> >
> > It's worth for stable, right?
>
> Right, just forgot it.
OK, applied now. Thanks.
Takashi
> hda/patch_ conexant. c | 23 +++++++ +++++++ +++++++ +- pci/hda/ patch_conexant. c b/sound/ pci/hda/ patch_conexant. c pci/hda/ patch_conexant. c pci/hda/ patch_conexant. c reboot_ notify( struct hda_codec *codec) >core.vendor_ id != 0x14f150f2) turn_eapd( codec, spec->num_eapds, spec->eapds, false); codec_set_ power_to_ all(codec, codec->core.afg, AC_PWRST_D3); codec_write( codec, codec->core.afg, 0, SET_POWER_ STATE, AC_PWRST_D3); reboot_ notify( codec); gen_free( codec); build_controls, gen_build_ pcms, reboot_ notify, jack_unsol_ event, /launchpad. net/~diwic
> >
> >
> > Takashi
> >
> >> ---
> >> sound/pci/
> >> 1 file changed, 22 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/sound/
> >> index f788a91..ca03c40 100644
> >> --- a/sound/
> >> +++ b/sound/
> >> @@ -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_
> >> +{
> >> + struct conexant_spec *spec = codec->spec;
> >> +
> >> + if (codec-
> >> + return;
> >> +
> >> + /* Turn the CX20722 codec into D3 to avoid spurious noises
> >> + from the internal speaker during (and after) reboot */
> >> + cx_auto_
> >> +
> >> + snd_hda_
> >> + snd_hda_
> >> + AC_VERB_
> >> +}
> >> +
> >> +static void cx_auto_free(struct hda_codec *codec)
> >> +{
> >> + cx_auto_
> >> + snd_hda_
> >> +}
> >>
> >> static const struct hda_codec_ops cx_auto_patch_ops = {
> >> .build_controls = cx_auto_
> >> .build_pcms = snd_hda_
> >> .init = cx_auto_init,
> >> + .reboot_notify = cx_auto_
> >> .free = cx_auto_free,
> >> .unsol_event = snd_hda_
> >> #ifdef CONFIG_PM
> >> --
> >> 1.9.1
> >>
> >
>
> --
> David Henningsson, Canonical Ltd.
> https:/
>