summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/saa7134
diff options
context:
space:
mode:
authorNickolay V. Shmyrev <devnull@localhost>2005-09-14 23:11:39 +0000
committerNickolay V. Shmyrev <devnull@localhost>2005-09-14 23:11:39 +0000
commit595ed2374102b474b21b73856f3c50220468b8ee (patch)
tree727e41ce4f233361f37f024e42990b539fb1ad26 /linux/drivers/media/video/saa7134
parentf072e0cd5a31350376e8e0f6a6c9cd66a2b00fb9 (diff)
downloadmediapointer-dvb-s2-595ed2374102b474b21b73856f3c50220468b8ee.tar.gz
mediapointer-dvb-s2-595ed2374102b474b21b73856f3c50220468b8ee.tar.bz2
* saa7134-core.c: (saa7134_hwinit1):
- Fix for problem with audio register setup via DSP access Signed-off-by: Nickolay V. Shmyrev <nshmyrev@yandex.ru> Signed-off-by: Robert W. Boone <rboone@rtd.com>
Diffstat (limited to 'linux/drivers/media/video/saa7134')
-rw-r--r--linux/drivers/media/video/saa7134/saa7134-core.c25
1 files changed, 16 insertions, 9 deletions
diff --git a/linux/drivers/media/video/saa7134/saa7134-core.c b/linux/drivers/media/video/saa7134/saa7134-core.c
index 7bee05e08..6a5398922 100644
--- a/linux/drivers/media/video/saa7134/saa7134-core.c
+++ b/linux/drivers/media/video/saa7134/saa7134-core.c
@@ -1,5 +1,5 @@
/*
- * $Id: saa7134-core.c,v 1.40 2005/07/15 21:44:14 mchehab Exp $
+ * $Id: saa7134-core.c,v 1.41 2005/09/14 23:11:39 nsh Exp $
*
* device driver for philips saa7134 based TV cards
* driver core
@@ -703,14 +703,6 @@ static int saa7134_hwinit1(struct saa7134_dev *dev)
saa7134_ts_init1(dev);
saa7134_input_init1(dev);
- switch (dev->pci->device) {
- case PCI_DEVICE_ID_PHILIPS_SAA7134:
- case PCI_DEVICE_ID_PHILIPS_SAA7133:
- case PCI_DEVICE_ID_PHILIPS_SAA7135:
- saa7134_oss_init1(dev);
- break;
- }
-
/* RAM FIFO config */
saa_writel(SAA7134_FIFO_SIZE, 0x08070503);
saa_writel(SAA7134_THRESHOULD,0x02020202);
@@ -725,6 +717,21 @@ static int saa7134_hwinit1(struct saa7134_dev *dev)
SAA7134_MAIN_CTRL_ESFE |
SAA7134_MAIN_CTRL_EBDAC);
+ /*
+ * Initialize OSS _after_ enabling audio clock PLL and audio processing.
+ * OSS initialization writes to registers via the audio DSP; these
+ * writes will fail unless the audio clock has been started. At worst,
+ * audio will not work.
+ */
+
+ switch (dev->pci->device) {
+ case PCI_DEVICE_ID_PHILIPS_SAA7134:
+ case PCI_DEVICE_ID_PHILIPS_SAA7133:
+ case PCI_DEVICE_ID_PHILIPS_SAA7135:
+ saa7134_oss_init1(dev);
+ break;
+ }
+
/* enable peripheral devices */
saa_writeb(SAA7134_SPECIAL_MODE, 0x01);