Update of /cvsroot/alsa/alsa-kernel/pci
In directory sc8-pr-cvs1:/tmp/cvs-serv3666

Modified Files:
        intel8x0.c 
Log Message:
- clean up PM codes.
- added workaround for SPDIF playback on SIS7012.



Index: intel8x0.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/pci/intel8x0.c,v
retrieving revision 1.80
retrieving revision 1.81
diff -u -r1.80 -r1.81
--- intel8x0.c  20 May 2003 12:55:15 -0000      1.80
+++ intel8x0.c  18 Jun 2003 11:08:07 -0000      1.81
@@ -869,6 +869,9 @@
                for (i = 0; i < 3; i++)
                        if (ichdev->ac97_rate_regs[i])
                                snd_ac97_set_rate(ichdev->ac97, 
ichdev->ac97_rate_regs[i], runtime->rate);
+               /* FIXME: hack to enable spdif support */
+               if (ichdev->ichd == ICHD_PCMOUT && chip->device_type == DEVICE_SIS)
+                       snd_ac97_set_rate(ichdev->ac97, AC97_SPDIF, runtime->rate);
        }
        snd_intel8x0_setup_periods(chip, ichdev);
        return 0;
@@ -883,6 +886,8 @@
        ptr = ichdev->fragsize1;
        ptr -= igetword(chip, ichdev->reg_offset + ichdev->roff_picb) << 
chip->pcm_pos_shift;
        ptr += ichdev->position;
+       if (ptr >= ichdev->size)
+               return 0;
        return bytes_to_frames(substream->runtime, ptr);
 }
 
@@ -1710,17 +1715,10 @@
        iputdword(chip, ICHREG(ALI_INTERRUPTSR), 0x00000000);
 }
 
-static void do_delay(intel8x0_t *chip)
-{
-#ifdef CONFIG_PM
-       if (chip->in_suspend) {
-               mdelay((1000 + HZ - 1) / HZ);
-               return;
-       }
-#endif
-       set_current_state(TASK_UNINTERRUPTIBLE);
-       schedule_timeout(1);
-}
+#define do_delay(chip) do {\
+       set_current_state(TASK_UNINTERRUPTIBLE);\
+       schedule_timeout(1);\
+} while (0)
 
 static int snd_intel8x0_ich_chip_init(intel8x0_t *chip)
 {
@@ -1939,6 +1937,7 @@
                return;
 
        pci_enable_device(chip->pci);
+       pci_set_master(chip->pci);
        snd_intel8x0_chip_init(chip);
        for (i = 0; i < 3; i++)
                if (chip->ac97[i])
@@ -1948,7 +1947,6 @@
        snd_power_change_state(card, SNDRV_CTL_POWER_D0);
 }
 
-#ifndef PCI_OLD_SUSPEND
 static int snd_intel8x0_suspend(struct pci_dev *dev, u32 state)
 {
        intel8x0_t *chip = snd_magic_cast(intel8x0_t, pci_get_drvdata(dev), return 
-ENXIO);
@@ -1961,18 +1959,6 @@
        intel8x0_resume(chip);
        return 0;
 }
-#else
-static void snd_intel8x0_suspend(struct pci_dev *dev)
-{
-       intel8x0_t *chip = snd_magic_cast(intel8x0_t, pci_get_drvdata(dev), return);
-       intel8x0_suspend(chip);
-}
-static void snd_intel8x0_resume(struct pci_dev *dev)
-{
-       intel8x0_t *chip = snd_magic_cast(intel8x0_t, pci_get_drvdata(dev), return);
-       intel8x0_resume(chip);
-}
-#endif
 
 /* callback */
 static int snd_intel8x0_set_power_state(snd_card_t *card, unsigned int power_state)



-------------------------------------------------------
This SF.Net email is sponsored by: INetU
Attention Web Developers & Consultants: Become An INetU Hosting Partner.
Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission!
INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php
_______________________________________________
Alsa-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-cvslog

Reply via email to