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