Re: ALC882 on Abit AW9D-MAX

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Apr 18, 2007 at 02:29:47PM +0200, Takashi Iwai wrote:
> At Fri, 13 Apr 2007 12:21:51 +0200,
> I wrote:
> > 
> > At Fri, 13 Apr 2007 00:11:41 +0300,
> > Dan Aloni wrote:
[...]
> > > Okay, so based on the 2.6.21-rc6 codebase:
> > > 
> > > position_fix=1 fixed the clicks.
> > > 
> > > Concerning the speakers - I have found that if I swap the orange
> > > and black - it works.
> > 
> > I had a similar bug report once and it was also an 8-channel device.
> > Could you try the patch below?
> 
> Dan, did you try it?

I just reverted my own changes and tried your patch - it didn't fix
the problem.

>From what I figured, for my card (where cfg->line_outs == 4) the code 
from below should be like this:

  case 4:
      if ([Abit-AW9D-MAX ALC822 quirk]) {
           nid = cfg->line_out_pins[2];
           cfg->line_out_pins[2] = cfg->line_out_pins[3];
           cfg->line_out_pins[3] = nid;
      } else {
           nid = cfg->line_out_pins[1];
           cfg->line_out_pins[1] = cfg->line_out_pins[3];
           cfg->line_out_pins[3] = cfg->line_out_pins[2];
           cfg->line_out_pins[2] = nid;
      }
      break;

Explanation:

case 4 originally does {1<=3,3<=2,2<=1}, my working fix effectively 
adds {1<=2,2<=1}, which means we need to do {1<=1,3<=2,2<=3}, or just
{3<=2,2<=3}.

Right?

> > diff -r 3f196675e724 pci/hda/hda_codec.c
> > --- a/pci/hda/hda_codec.c	Fri Aug 04 19:08:03 2006 +0200
> > +++ b/pci/hda/hda_codec.c	Mon Aug 07 14:55:42 2006 +0200
> > @@ -2122,16 +2122,19 @@ int snd_hda_parse_pin_def_config(struct 
> >  	 */
> >  	switch (cfg->line_outs) {
> >  	case 3:
> > +	case 4:
> >  		nid = cfg->line_out_pins[1];
> >  		cfg->line_out_pins[1] = cfg->line_out_pins[2];
> >  		cfg->line_out_pins[2] = nid;
> >  		break;
> > +#if 0 /* seems wrong */
> >  	case 4:
> >  		nid = cfg->line_out_pins[1];
> >  		cfg->line_out_pins[1] = cfg->line_out_pins[3];
> >  		cfg->line_out_pins[3] = cfg->line_out_pins[2];
> >  		cfg->line_out_pins[2] = nid;
> >  		break;
> > +#endif
> >  	}

-- 
Dan Aloni
XIV LTD, http://www.xivstorage.com
da-x (at) monatomic.org, dan (at) xiv.co.il
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux