summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/ttpci/av7110_av.c
diff options
context:
space:
mode:
authorOliver Endriss <devnull@localhost>2005-03-26 18:46:35 +0000
committerOliver Endriss <devnull@localhost>2005-03-26 18:46:35 +0000
commit769d3791fc978a80401a6c38b860340f304c1e48 (patch)
treede9d7817908df29f00aef409a80ae022857df3ec /linux/drivers/media/dvb/ttpci/av7110_av.c
parentec504feb98e703b7c8444cbd5ecf5c238c6f32bf (diff)
downloadmediapointer-dvb-s2-769d3791fc978a80401a6c38b860340f304c1e48.tar.gz
mediapointer-dvb-s2-769d3791fc978a80401a6c38b860340f304c1e48.tar.bz2
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.
Diffstat (limited to 'linux/drivers/media/dvb/ttpci/av7110_av.c')
-rw-r--r--linux/drivers/media/dvb/ttpci/av7110_av.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/linux/drivers/media/dvb/ttpci/av7110_av.c b/linux/drivers/media/dvb/ttpci/av7110_av.c
index 01380b658..e25d3f019 100644
--- a/linux/drivers/media/dvb/ttpci/av7110_av.c
+++ b/linux/drivers/media/dvb/ttpci/av7110_av.c
@@ -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: