[alsa-devel] Problem with DELL XPS M1530

Takashi Iwai tiwai at suse.de
Thu Feb 21 08:01:56 CET 2008


At Thu, 21 Feb 2008 10:58:48 +0800,
Jiang zhe wrote:
> 
> 
> > >
> > > http://pastebin.ca/911147
> > >
> > > Now the odd thing is that after the last compile of alsa-driver
> > 1.0.16
> > > ... stuff works! Both HP jacks, the internal speakers and the mic
> > work
> > > just fine. I don't really know what to make of it, since all I have
> > done
> > > is compile like I did earlier and reboot...
> > 
> > Thanks.  It's not that odd.  As I mentioned, the fix after 1.0.16
> > might break the dual headphone configuration of Dell laptops.
> > 
> > Need to investigate a bit further...
> > 
> Hi,
> 
> The reason should be the following code of hda_codec.c :
> 	/* FIX-UP:
> 	 * If no line-out is defined but multiple HPs are found,
> 	 * some of them might be the real line-outs.
> 	 */
> 	if (!cfg->line_outs && cfg->hp_outs > 1) {
> 		int i = 0;
> 		while (i < cfg->hp_outs) {
> 			/* The real HPs should have the sequence 0x0f */
> 			if ((sequences_hp[i] & 0x0f) == 0x0f) {
> 				i++;
> 				continue;
> 			}
> 			/* Move it to the line-out table */
> 			cfg->line_out_pins[cfg->line_outs] = cfg->hp_pins[i];
> 			sequences_line_out[cfg->line_outs] = sequences_hp[i];
> 			cfg->line_outs++;
> 			cfg->hp_outs--;
> 			memmove(cfg->hp_pins + i, cfg->hp_pins + i + 1,
> 				sizeof(cfg->hp_pins[0]) * (cfg->hp_outs - i));
> 			memmove(sequences_hp + i - 1, sequences_hp + i,
> 				sizeof(sequences_hp[0]) * (cfg->hp_outs - i));
> 		}
> 	}
> 
> 
> For dell machine which has two HP jacks, it will do some special process
> in stac***_parse_auto_config().Please refer to the code of
> patch_sigmatel.c, search the "hp_speaker_swap".
> But the code in the hda_codec.c break the logic. So it failed.
> 
> Anders:
> May you try latest alsa-driver and get rid of the above code from
> snd_hda_parse_pin_def_config() in hda_codec.c?
> I think that it will work.

I applied patches that may fix this issue (fixing the wrong
association number of NID 0x0f) for MODEL_DELL_BIOS to HG tree.
Please try the very latest HG version, take from hg.alsa-project.org.
This should (I hope) work without changes...


Takashi


More information about the Alsa-devel mailing list