Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Nov 2012 09:30:01 GMT
From:      David Demelier <demelier.david@gmail.com>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: kern/173840: snd_hda(4) volume mixer not working anymore
Message-ID:  <201211230930.qAN9U1Bp055669@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/173840; it has been noted by GNATS.

From: David Demelier <demelier.david@gmail.com>
To: Alexander Motin <mav@freebsd.org>
Cc: bug-followup@freebsd.org
Subject: Re: kern/173840: snd_hda(4) volume mixer not working anymore
Date: Fri, 23 Nov 2012 10:22:52 +0100

 --047d7b339bb5ce7a3e04cf2620c0
 Content-Type: text/plain; charset=UTF-8
 
 Thanks for your answer, I'll try this patch tonight and tell you if it
 works. However will you be able to fix it as universal way ?
 
 I've just have another question, when I boot and the hda probes devices I
 hear a big "tick" / "click" in the speakers (this was also happening on 9.0
 and before) but I never found a solution.. It also happens if I mute the
 sound, setting the volume to 0 and then to 80 will generate these noise.
 
 Cheers, and thanks for your answer :-)
 
 
 2012/11/23 Alexander Motin <mav@freebsd.org>
 
 > Hi.
 >
 > I can't qualify it is as a driver bug. At most it is behavior change.
 > There are two signal paths from the DACs to the pins in this CODEC: direct
 > and via the mixer. And there is no volume control on the direct path. In
 > your specific case it is possible to route signal via the mixer and control
 > it there. But present driver is unable to make reasonable selection in such
 > cases. Probably previously driver version did the right thing by accident.
 >
 > Patch below should probably help in your case, but it is not universal
 > enough to commit it.
 >
 > --- hdaa_patches.c      (revision 243182)
 > +++ hdaa_patches.c      (working copy)
 > @@ -442,6 +442,14 @@ hdaa_patch(struct hdaa_devinfo *devinfo)
 >                 if (w != NULL)
 >                         w->connsenable[3] = 0;
 >                 break;
 > +       case HDA_CODEC_AD1984A:
 > +               w = hdaa_widget_get(devinfo, 7);
 > +               if (w != NULL)
 > +                       w->connsenable[0] = 0;
 > +               w = hdaa_widget_get(devinfo, 11);
 > +               if (w != NULL)
 > +                       w->connsenable[0] = 0;
 > +               break;
 >         case HDA_CODEC_AD1986A:
 >                 /*
 >                  * This CODEC has overcomplicated input mixing.
 >
 >
 > --
 > Alexander Motin
 >
 
 
 
 -- 
 Demelier David
 
 --047d7b339bb5ce7a3e04cf2620c0
 Content-Type: text/html; charset=UTF-8
 Content-Transfer-Encoding: quoted-printable
 
 Thanks for your answer, I&#39;ll try this patch tonight and tell you if it =
 works. However will you be able to fix it as universal way ?<br><br>I&#39;v=
 e just have another question, when I boot and the hda probes devices I hear=
  a big &quot;tick&quot; / &quot;click&quot; in the speakers (this was also =
 happening on 9.0 and before) but I never found a solution.. It also happens=
  if I mute the sound, setting the volume to 0 and then to 80 will generate =
 these noise.<br>
 <br>Cheers, and thanks for your answer :-)<br><div class=3D"gmail_extra"><b=
 r><br><div class=3D"gmail_quote">2012/11/23 Alexander Motin <span dir=3D"lt=
 r">&lt;<a href=3D"mailto:mav@freebsd.org" target=3D"_blank">mav@freebsd.org=
 </a>&gt;</span><br>
 <blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
 x #ccc solid;padding-left:1ex">Hi.<br>
 <br>
 I can&#39;t qualify it is as a driver bug. At most it is behavior change. T=
 here are two signal paths from the DACs to the pins in this CODEC: direct a=
 nd via the mixer. And there is no volume control on the direct path. In you=
 r specific case it is possible to route signal via the mixer and control it=
  there. But present driver is unable to make reasonable selection in such c=
 ases. Probably previously driver version did the right thing by accident.<b=
 r>
 
 <br>
 Patch below should probably help in your case, but it is not universal enou=
 gh to commit it.<br>
 <br>
 --- hdaa_patches.c =C2=A0 =C2=A0 =C2=A0(revision 243182)<br>
 +++ hdaa_patches.c =C2=A0 =C2=A0 =C2=A0(working copy)<br>
 @@ -442,6 +442,14 @@ hdaa_patch(struct hdaa_devinfo *devinfo)<br>
 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (w !=3D NULL)<br=
 >
 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
 =A0 =C2=A0 w-&gt;connsenable[3] =3D 0;<br>
 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 break;<br>
 + =C2=A0 =C2=A0 =C2=A0 case HDA_CODEC_AD1984A:<br>
 + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 w =3D hdaa_widget_get(de=
 vinfo, 7);<br>
 + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (w !=3D NULL)<br>
 + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
 =A0 w-&gt;connsenable[0] =3D 0;<br>
 + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 w =3D hdaa_widget_get(de=
 vinfo, 11);<br>
 + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (w !=3D NULL)<br>
 + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
 =A0 w-&gt;connsenable[0] =3D 0;<br>
 + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 break;<br>
 =C2=A0 =C2=A0 =C2=A0 =C2=A0 case HDA_CODEC_AD1986A:<br>
 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 /*<br>
 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0* This CODEC =
 has overcomplicated input mixing.<span class=3D"HOEnZb"><font color=3D"#888=
 888"><br>
 <br>
 <br>
 -- <br>
 Alexander Motin<br>
 </font></span></blockquote></div><br><br clear=3D"all"><br>-- <br>Demelier =
 David<br>
 </div>
 
 --047d7b339bb5ce7a3e04cf2620c0--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201211230930.qAN9U1Bp055669>