
From: Johannes Stezenbach <js@linuxtv.org>

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>
---

 drivers/media/dvb/ttpci/av7110_av.c |    6 ++++++
 1 files changed, 6 insertions(+)

diff -puN drivers/media/dvb/ttpci/av7110_av.c~dvb-av7110-audio-out-fix drivers/media/dvb/ttpci/av7110_av.c
--- 25/drivers/media/dvb/ttpci/av7110_av.c~dvb-av7110-audio-out-fix	2005-05-09 18:00:40.000000000 -0700
+++ 25-akpm/drivers/media/dvb/ttpci/av7110_av.c	2005-05-09 18:00:40.000000000 -0700
@@ -1230,14 +1230,20 @@ static int dvb_audio_ioctl(struct inode 
 		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:
_
