diff options
author | Nickolay V. Shmyrev <devnull@localhost> | 2005-09-14 23:11:39 +0000 |
---|---|---|
committer | Nickolay V. Shmyrev <devnull@localhost> | 2005-09-14 23:11:39 +0000 |
commit | 595ed2374102b474b21b73856f3c50220468b8ee (patch) | |
tree | 727e41ce4f233361f37f024e42990b539fb1ad26 /linux/drivers/media/video/saa7134 | |
parent | f072e0cd5a31350376e8e0f6a6c9cd66a2b00fb9 (diff) | |
download | mediapointer-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.c | 25 |
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); |