diff options
Diffstat (limited to 'drivers/media/video/saa7134/saa7134-tvaudio.c')
-rw-r--r-- | drivers/media/video/saa7134/saa7134-tvaudio.c | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/drivers/media/video/saa7134/saa7134-tvaudio.c b/drivers/media/video/saa7134/saa7134-tvaudio.c index 61a2d6b50ee..93268427750 100644 --- a/drivers/media/video/saa7134/saa7134-tvaudio.c +++ b/drivers/media/video/saa7134/saa7134-tvaudio.c | |||
@@ -207,6 +207,10 @@ static void tvaudio_setcarrier(struct saa7134_dev *dev, | |||
207 | saa_writel(SAA7134_CARRIER2_FREQ0 >> 2, tvaudio_carr2reg(secondary)); | 207 | saa_writel(SAA7134_CARRIER2_FREQ0 >> 2, tvaudio_carr2reg(secondary)); |
208 | } | 208 | } |
209 | 209 | ||
210 | #define SAA7134_MUTE_MASK 0xbb | ||
211 | #define SAA7134_MUTE_ANALOG 0x04 | ||
212 | #define SAA7134_MUTE_I2S 0x40 | ||
213 | |||
210 | static void mute_input_7134(struct saa7134_dev *dev) | 214 | static void mute_input_7134(struct saa7134_dev *dev) |
211 | { | 215 | { |
212 | unsigned int mute; | 216 | unsigned int mute; |
@@ -241,7 +245,11 @@ static void mute_input_7134(struct saa7134_dev *dev) | |||
241 | 245 | ||
242 | if (PCI_DEVICE_ID_PHILIPS_SAA7134 == dev->pci->device) | 246 | if (PCI_DEVICE_ID_PHILIPS_SAA7134 == dev->pci->device) |
243 | /* 7134 mute */ | 247 | /* 7134 mute */ |
244 | saa_writeb(SAA7134_AUDIO_MUTE_CTRL, mute ? 0xbf : 0xbb); | 248 | saa_writeb(SAA7134_AUDIO_MUTE_CTRL, mute ? |
249 | SAA7134_MUTE_MASK | | ||
250 | SAA7134_MUTE_ANALOG | | ||
251 | SAA7134_MUTE_I2S : | ||
252 | SAA7134_MUTE_MASK); | ||
245 | 253 | ||
246 | /* switch internal audio mux */ | 254 | /* switch internal audio mux */ |
247 | switch (in->amux) { | 255 | switch (in->amux) { |
@@ -753,17 +761,17 @@ static int mute_input_7133(struct saa7134_dev *dev) | |||
753 | 761 | ||
754 | 762 | ||
755 | /* switch gpio-connected external audio mux */ | 763 | /* switch gpio-connected external audio mux */ |
756 | if (0 != card(dev).gpiomask) { | 764 | if (0 != card(dev).gpiomask) { |
757 | mask = card(dev).gpiomask; | 765 | mask = card(dev).gpiomask; |
758 | 766 | ||
759 | if (card(dev).mute.name && dev->ctl_mute) | 767 | if (card(dev).mute.name && dev->ctl_mute) |
760 | in = &card(dev).mute; | 768 | in = &card(dev).mute; |
761 | else | 769 | else |
762 | in = dev->input; | 770 | in = dev->input; |
763 | 771 | ||
764 | saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, mask, mask); | 772 | saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, mask, mask); |
765 | saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, mask, in->gpio); | 773 | saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, mask, in->gpio); |
766 | saa7134_track_gpio(dev,in->name); | 774 | saa7134_track_gpio(dev,in->name); |
767 | } | 775 | } |
768 | 776 | ||
769 | return 0; | 777 | return 0; |
@@ -1016,9 +1024,12 @@ int saa7134_tvaudio_do_scan(struct saa7134_dev *dev) | |||
1016 | return 0; | 1024 | return 0; |
1017 | } | 1025 | } |
1018 | 1026 | ||
1027 | EXPORT_SYMBOL(saa_dsp_writel); | ||
1028 | |||
1019 | /* ----------------------------------------------------------- */ | 1029 | /* ----------------------------------------------------------- */ |
1020 | /* | 1030 | /* |
1021 | * Local variables: | 1031 | * Local variables: |
1022 | * c-basic-offset: 8 | 1032 | * c-basic-offset: 8 |
1023 | * End: | 1033 | * End: |
1024 | */ | 1034 | */ |
1035 | |||