No subject
Fri Apr 13 12:14:49 CEST 2007
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
More information about the Alsa-devel
mailing list