[PATCH] dvb: av7110: audio out fix
authorJohannes Stezenbach <js@linuxtv.org>
Tue, 17 May 2005 04:54:22 +0000 (21:54 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Tue, 17 May 2005 14:59:27 +0000 (07:59 -0700)
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>
drivers/media/dvb/ttpci/av7110_av.c

index d77e8a00688fc9f7daa195a970728a16a5b95ae3..2c3b0b32b8d7c0ed6b4abcf2bff70347d3d4ee1d 100644 (file)
@@ -1230,14 +1230,20 @@ static int dvb_audio_ioctl(struct inode *inode, struct file *file,
                switch(av7110->audiostate.channel_select) {
                case AUDIO_STEREO:
                        audcom(av7110, AUDIO_CMD_STEREO);
+                       if (av7110->adac_type == DVB_ADAC_CRYSTAL)
+                               i2c_writereg(av7110, 0x20, 0x02, 0x49);
                        break;
 
                case AUDIO_MONO_LEFT:
                        audcom(av7110, AUDIO_CMD_MONO_L);
+                       if (av7110->adac_type == DVB_ADAC_CRYSTAL)
+                               i2c_writereg(av7110, 0x20, 0x02, 0x4a);
                        break;
 
                case AUDIO_MONO_RIGHT:
                        audcom(av7110, AUDIO_CMD_MONO_R);
+                       if (av7110->adac_type == DVB_ADAC_CRYSTAL)
+                               i2c_writereg(av7110, 0x20, 0x02, 0x45);
                        break;
 
                default: