linux-stable-rt/sound/pci
Nicolas Boichat 536319afd1 ALSA: Allow to force model to intel-mac-v3 in snd_hda_intel (sigmatel).
Currently, even if you pass model=intel-mac-v3 as a module parameter to
snd_hda_intel, the function patch_stac922x (patch_sigmatel.c) will still
try to auto-detect the model type. This is a problem on my MacBook Pro 1st
generation, which needs intel-mac-v3, but sometimes incorrectly reports
0x00000100 as subsystem id, which causes the switch in patch_stac922x to
select intel-mac-v4.

To fix this, I added a new model called intel-mac-auto, so in case no
module parameter is passed, and an Intel Mac board is detected, the
model will be automatically detected, while no detection will be done
if the model is forced to intel-mac-v3.

This problem has been around for quite a while, and I used to fix it
by moving the case statement for 0x00000100 in patch_stac922x so that
intel-mac-v3 is chosen.

Another way to fix the problem would be to check if a module parameter
was set directly in patch_stac922x, using something like this:
if (spec->board_config == STAC_INTEL_MAC_V3 &&
	!codec->bus->modelname) {

But I think it is less elegant (if you prefer that way, I can prepare a
patch).

Signed-off-by: Nicolas Boichat <nicolas@boichat.ch>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-07-27 10:22:27 +02:00
..
ac97 ALSA: make snd_ac97_add_vmaster() static 2008-07-27 10:22:26 +02:00
ali5451
au88x0
aw2
ca0106
cs46xx
cs5535audio
echoaudio
emu10k1
hda ALSA: Allow to force model to intel-mac-v3 in snd_hda_intel (sigmatel). 2008-07-27 10:22:27 +02:00
ice1712
korg1212
mixart
nm256 ALSA: correct kcalloc usage 2008-07-14 09:01:09 +02:00
oxygen
pcxhr Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git 2008-07-14 15:51:11 -07:00
riptide
rme9652
trident
vx222
ymfpci Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git 2008-07-14 15:51:11 -07:00
Kconfig Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git 2008-07-14 15:51:11 -07:00
Makefile
ad1889.c
ad1889.h
ak4531_codec.c
als300.c
als4000.c
atiixp.c
atiixp_modem.c
azt3328.c
azt3328.h ALSA: sound/pci/azt3328.h: no variables for enums 2008-07-27 10:22:25 +02:00
bt87x.c
cmipci.c
cs4281.c
cs5530.c
ens1370.c ALSA: ALSA: ens1370: communicate PCI device to AC97 2008-07-17 14:29:55 +02:00
ens1371.c
es1938.c
es1968.c
fm801.c
intel8x0.c
intel8x0m.c
maestro3.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git 2008-07-14 15:51:11 -07:00
rme32.c
rme96.c
sis7019.c
sis7019.h
sonicvibes.c
via82xx.c
via82xx_modem.c