diff options
author | Johannes Stezenbach <js@linuxtv.org> | 2005-05-17 00:54:22 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-05-17 10:59:27 -0400 |
commit | 6074b36715f036f56beb688f49a2a2fb5b28ad72 (patch) | |
tree | 94457efc75de386c7b2d4bf03ec3c8800545b15d /drivers/media | |
parent | f4f009a776c1db9b27346846b0db052e04a6d5ad (diff) |
[PATCH] dvb: av7110: audio out fix
Switch analog output of the Crystal sound chip to left/stereo/right mode.
This will fix problems with some (most?) channels which do not encode
2-channel audio correctly. (Oliver Endriss)
Signed-off-by: Johannes Stezenbach <js@linuxtv.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/dvb/ttpci/av7110_av.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/media/dvb/ttpci/av7110_av.c b/drivers/media/dvb/ttpci/av7110_av.c index d77e8a00688f..2c3b0b32b8d7 100644 --- a/drivers/media/dvb/ttpci/av7110_av.c +++ b/drivers/media/dvb/ttpci/av7110_av.c | |||
@@ -1230,14 +1230,20 @@ static int dvb_audio_ioctl(struct inode *inode, struct file *file, | |||
1230 | switch(av7110->audiostate.channel_select) { | 1230 | switch(av7110->audiostate.channel_select) { |
1231 | case AUDIO_STEREO: | 1231 | case AUDIO_STEREO: |
1232 | audcom(av7110, AUDIO_CMD_STEREO); | 1232 | audcom(av7110, AUDIO_CMD_STEREO); |
1233 | if (av7110->adac_type == DVB_ADAC_CRYSTAL) | ||
1234 | i2c_writereg(av7110, 0x20, 0x02, 0x49); | ||
1233 | break; | 1235 | break; |
1234 | 1236 | ||
1235 | case AUDIO_MONO_LEFT: | 1237 | case AUDIO_MONO_LEFT: |
1236 | audcom(av7110, AUDIO_CMD_MONO_L); | 1238 | audcom(av7110, AUDIO_CMD_MONO_L); |
1239 | if (av7110->adac_type == DVB_ADAC_CRYSTAL) | ||
1240 | i2c_writereg(av7110, 0x20, 0x02, 0x4a); | ||
1237 | break; | 1241 | break; |
1238 | 1242 | ||
1239 | case AUDIO_MONO_RIGHT: | 1243 | case AUDIO_MONO_RIGHT: |
1240 | audcom(av7110, AUDIO_CMD_MONO_R); | 1244 | audcom(av7110, AUDIO_CMD_MONO_R); |
1245 | if (av7110->adac_type == DVB_ADAC_CRYSTAL) | ||
1246 | i2c_writereg(av7110, 0x20, 0x02, 0x45); | ||
1241 | break; | 1247 | break; |
1242 | 1248 | ||
1243 | default: | 1249 | default: |