Skip to content

Commit

Permalink
[ALSA] ice1724.c: toggle "chip reset" and "eeprom based setup" sequence
Browse files Browse the repository at this point in the history
Let "chip reset" become first. Increasement of the "chip reset" related timeout
leads to correctly read eeprom's contents here.

Signed-off-by: Karsten Wiese <fzu@wemgehoertderstaat.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
  • Loading branch information
Karsten Wiese authored and Takashi Iwai committed Apr 24, 2008
1 parent 0d52cea commit 988f066
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions sound/pci/ice1712/ice1724.c
Original file line number Diff line number Diff line change
Expand Up @@ -2045,12 +2045,16 @@ static int __devinit snd_vt1724_read_eeprom(struct snd_ice1712 *ice,



static int __devinit snd_vt1724_chip_init(struct snd_ice1712 *ice)
static void __devinit snd_vt1724_chip_reset(struct snd_ice1712 *ice)
{
outb(VT1724_RESET , ICEREG1724(ice, CONTROL));
udelay(200);
msleep(10);
outb(0, ICEREG1724(ice, CONTROL));
udelay(200);
msleep(10);
}

static int __devinit snd_vt1724_chip_init(struct snd_ice1712 *ice)
{
outb(ice->eeprom.data[ICE_EEP2_SYSCONF], ICEREG1724(ice, SYS_CFG));
outb(ice->eeprom.data[ICE_EEP2_ACLINK], ICEREG1724(ice, AC97_CFG));
outb(ice->eeprom.data[ICE_EEP2_I2S], ICEREG1724(ice, I2S_FEATURES));
Expand Down Expand Up @@ -2223,6 +2227,7 @@ static int __devinit snd_vt1724_create(struct snd_card *card,

ice->irq = pci->irq;

snd_vt1724_chip_reset(ice);
if (snd_vt1724_read_eeprom(ice, modelname) < 0) {
snd_vt1724_free(ice);
return -EIO;
Expand Down

0 comments on commit 988f066

Please sign in to comment.