 /* update undocumented bit... */ if (ac97->id == AC97_ID_ALC658D) snd_ac97_update_bits(ac97, 0x74, 0x0800, 0x0800);  
int patch_alc655(ac97_t * ac97){	unsigned int val;	ac97->spec.dev_flags = (ac97->id == 0x414c4780); /* ALC658 */	ac97->build_ops = &patch_alc655_ops;	/* assume only page 0 for writing cache */	snd_ac97_update_bits(ac97, AC97_INT_PAGING, AC97_PAGE_MASK, AC97_PAGE_VENDOR);	/* adjust default values */	val = snd_ac97_read(ac97, 0x7a); /* misc control */	if (ac97->id == 0x414c4780) /* ALC658 */		val &= ~(1 << 1); /* Pin 47 is spdif input pin */	else { /* ALC655 */		if (ac97->subsystem_vendor == 0x1462 &&		    ac97->subsystem_device == 0x0131) /* MSI S270 laptop */			val &= ~(1 << 1); /* Pin 47 is EAPD (for internal speaker) */		else			val |= (1 << 1); /* Pin 47 is spdif input pin */	}	val &= ~(1 << 12); /* vref enable */	snd_ac97_write_cache(ac97, 0x7a, val);	/* set default: spdif-in enabled,	   spdif-in monitor off, spdif-in PCM off	   center on mic off, surround on line-in off	   duplicate front off	*/	snd_ac97_write_cache(ac97, AC97_ALC650_MULTICH, 1<<15);	/* full DAC volume */	snd_ac97_write_cache(ac97, AC97_ALC650_SURR_DAC_VOL, 0x0808);	snd_ac97_write_cache(ac97, AC97_ALC650_LFE_DAC_VOL, 0x0808);	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/a5022b0dc6e45254437b75289e773876bb43e262/ac97_patch.c/buggy/sound/pci/ac97/ac97_patch.c