aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Stezenbach <js@linuxtv.org>2005-05-17 00:54:22 -0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-05-17 10:59:27 -0400
commit6074b36715f036f56beb688f49a2a2fb5b28ad72 (patch)
tree94457efc75de386c7b2d4bf03ec3c8800545b15d
parentf4f009a776c1db9b27346846b0db052e04a6d5ad (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>
-rw-r--r--drivers/media/dvb/ttpci/av7110_av.c6
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: