Update of /cvsroot/alsa/alsa-driver/pci In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13217
Modified Files: intel8x0m.c Log Message: Sasha Khapyorsky <[EMAIL PROTECTED]>: - allocate only modem codec and avoid confliction with the audio driver. Index: intel8x0m.c =================================================================== RCS file: /cvsroot/alsa/alsa-driver/pci/intel8x0m.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- intel8x0m.c 2 Mar 2004 15:32:35 -0000 1.3 +++ intel8x0m.c 4 Mar 2004 18:44:27 -0000 1.4 @@ -255,7 +255,7 @@ int in_ac97_init: 1; ac97_bus_t *ac97_bus; - ac97_t *ac97[3]; + ac97_t *ac97; spinlock_t reg_lock; spinlock_t ac97_lock; @@ -882,7 +882,7 @@ static void snd_intel8x0_mixer_free_ac97(ac97_t *ac97) { intel8x0_t *chip = snd_magic_cast(intel8x0_t, ac97->private_data, return); - chip->ac97[ac97->num] = NULL; + chip->ac97 = NULL; } @@ -891,7 +891,6 @@ ac97_bus_t bus, *pbus; ac97_t ac97, *x97; int err; - unsigned int i, codecs; unsigned int glob_sta = 0; chip->in_ac97_init = 1; @@ -910,27 +909,25 @@ glob_sta = igetdword(chip, ICHREG(GLOB_STA)); bus.write = snd_intel8x0_codec_write; bus.read = snd_intel8x0_codec_read; - codecs = glob_sta & ICH_SCR ? 2 : 1; bus.vra = 1; if ((err = snd_ac97_bus(chip->card, &bus, &pbus)) < 0) goto __err; chip->ac97_bus = pbus; ac97.pci = chip->pci; - for (i = 0; i < codecs; i++) { - ac97.num = i; - if ((err = snd_ac97_mixer(pbus, &ac97, &x97)) < 0) { - snd_printk(KERN_ERR "Unable to initialize codec #%d\n", i); - if (i == 0) - goto __err; - continue; - } - chip->ac97[i] = x97; - if(ac97_is_modem(x97) && !chip->ichd[ICHD_MDMIN].ac97 ) { - chip->ichd[ICHD_MDMIN].ac97 = x97; - chip->ichd[ICHD_MDMOUT].ac97 = x97; - } + ac97.num = glob_sta & ICH_SCR ? 1 : 0; + if ((err = snd_ac97_mixer(pbus, &ac97, &x97)) < 0) { + snd_printk(KERN_ERR "Unable to initialize codec #%d\n", ac97.num); + if (ac97.num == 0) + goto __err; + return err; } + chip->ac97 = x97; + if(ac97_is_modem(x97) && !chip->ichd[ICHD_MDMIN].ac97 ) { + chip->ichd[ICHD_MDMIN].ac97 = x97; + chip->ichd[ICHD_MDMOUT].ac97 = x97; + } + chip->in_ac97_init = 0; return 0; @@ -1008,11 +1005,9 @@ } else { /* resume phase */ - int i; status = 0; - for (i = 0; i < 3; i++) - if (chip->ac97[i]) - status |= get_ich_codec_bit(chip, i); + if (chip->ac97) + status |= get_ich_codec_bit(chip, chip->ac97->num); /* wait until all the probed codecs are ready */ end_time = jiffies + HZ; do { @@ -1104,7 +1099,6 @@ static void intel8x0_resume(intel8x0_t *chip) { snd_card_t *card = chip->card; - int i; if (! chip->in_suspend || card->power_state == SNDRV_CTL_POWER_D0) @@ -1113,9 +1107,8 @@ pci_enable_device(chip->pci); pci_set_master(chip->pci); snd_intel8x0_chip_init(chip, 0); - for (i = 0; i < 3; i++) - if (chip->ac97[i]) - snd_ac97_resume(chip->ac97[i]); + if (chip->ac97) + snd_ac97_resume(chip->ac97); chip->in_suspend = 0; snd_power_change_state(card, SNDRV_CTL_POWER_D0); ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ Alsa-cvslog mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-cvslog