[alsa-devel] Problem with DELL XPS M1530

Jiang zhe zhe.jiang at intel.com
Thu Feb 21 03:58:48 CET 2008


> >
> > 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.


Thanks!
> 
> Takashi
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
> 
> 



More information about the Alsa-devel mailing list