diff options
author | Hartmut Hackmann <devnull@localhost> | 2005-06-13 21:44:31 +0000 |
---|---|---|
committer | Hartmut Hackmann <devnull@localhost> | 2005-06-13 21:44:31 +0000 |
commit | 6bc1b5ab32ba7d7eb16e5581280ad1587a4d125c (patch) | |
tree | c16b2324d272506ee8b73b5a05020f8c30de8ad8 /linux/drivers/media/video/saa7134/saa7134-tvaudio.c | |
parent | f8e317a174cb5fb82980715e1b8b8b831f435cb5 (diff) | |
download | mediapointer-dvb-s2-6bc1b5ab32ba7d7eb16e5581280ad1587a4d125c.tar.gz mediapointer-dvb-s2-6bc1b5ab32ba7d7eb16e5581280ad1587a4d125c.tar.bz2 |
- added preliminary support for tda827x tuners
Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Diffstat (limited to 'linux/drivers/media/video/saa7134/saa7134-tvaudio.c')
-rw-r--r-- | linux/drivers/media/video/saa7134/saa7134-tvaudio.c | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/linux/drivers/media/video/saa7134/saa7134-tvaudio.c b/linux/drivers/media/video/saa7134/saa7134-tvaudio.c index 9a693073f..dc2bbdfaf 100644 --- a/linux/drivers/media/video/saa7134/saa7134-tvaudio.c +++ b/linux/drivers/media/video/saa7134/saa7134-tvaudio.c @@ -1,5 +1,5 @@ /* - * $Id: saa7134-tvaudio.c,v 1.25 2005/06/07 19:00:38 nsh Exp $ + * $Id: saa7134-tvaudio.c,v 1.26 2005/06/13 21:44:31 hhackmann Exp $ * * device driver for philips saa7134 based TV cards * tv audio decoder (fm stereo, nicam, ...) @@ -169,7 +169,7 @@ static void tvaudio_init(struct saa7134_dev *dev) int clock = saa7134_boards[dev->board].audio_clock; if (UNSET != audio_clock_override) - clock = audio_clock_override; + clock = audio_clock_override; /* init all audio registers */ saa_writeb(SAA7134_AUDIO_PLL_CTRL, 0x00); @@ -220,13 +220,13 @@ static void mute_input_7134(struct saa7134_dev *dev) mute = (dev->ctl_mute || (dev->automute && (&card(dev).radio) != in)); if (PCI_DEVICE_ID_PHILIPS_SAA7130 == dev->pci->device && - card(dev).mute.name) { + card(dev).mute.name) { /* 7130 - we'll mute using some unconnected audio input */ if (mute) in = &card(dev).mute; } if (dev->hw_mute == mute && - dev->hw_input == in) { + dev->hw_input == in) { dprintk("mute/input: nothing to do [mute=%d,input=%s]\n", mute,in->name); return; @@ -604,7 +604,7 @@ static int tvaudio_thread(void *data) /* find the exact tv audio norm */ for (audio = UNSET, i = 0; i < TVAUDIO; i++) { if (dev->tvnorm->id != UNSET && - !(dev->tvnorm->id & tvaudio[i].std)) + !(dev->tvnorm->id & tvaudio[i].std)) continue; if (tvaudio[i].carr1 != carrier) continue; @@ -761,24 +761,35 @@ static int getstereo_7133(struct saa7134_dev *dev) static int mute_input_7133(struct saa7134_dev *dev) { u32 reg = 0; + u32 xbarin, xbarout; int mask; + /* Hac 0506 route OSS sound simultanously */ + xbarin = 0x03; switch (dev->input->amux) { case TV: reg = 0x02; + xbarin = 0; break; case LINE1: reg = 0x00; break; case LINE2: case LINE2_LEFT: - reg = 0x01; + reg = 0x09; break; } - if (dev->ctl_mute) + saa_dsp_writel(dev, 0x464 >> 2, xbarin); + if (dev->ctl_mute) { reg = 0x07; + xbarout = 0xbbbbbb; + } else + xbarout = 0xbbbb10; + saa_dsp_writel(dev, 0x46c >> 2, xbarout); + saa_writel(0x594 >> 2, reg); + /* switch gpio-connected external audio mux */ if (0 != card(dev).gpiomask) { mask = card(dev).gpiomask; |