aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorRobert Krakora <rob.krakora@messagenetsystems.com>2009-01-18 21:45:28 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-01-29 08:39:09 -0200
commit7e4b15e4201a101840c226dafe0d3df7ee652bf6 (patch)
treebfa0599142e69097ed0feb01615e0726a8c6c7f5 /drivers/media
parentV4L/DVB (10254): em28xx: Fix audio URB transfer buffer race condition (diff)
downloadlinux-dev-7e4b15e4201a101840c226dafe0d3df7ee652bf6.tar.xz
linux-dev-7e4b15e4201a101840c226dafe0d3df7ee652bf6.zip
V4L/DVB (10256): em28xx: Fix for KWorld 330U AC97
Fix for KWorld 330U AC97 Many thanks to Devin and Mauro again!!! Signed-off-by: Robert Krakora <rob.krakora@messagenetsystems.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/video/em28xx/em28xx-core.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/media/video/em28xx/em28xx-core.c b/drivers/media/video/em28xx/em28xx-core.c
index 69ce78867a49..71ad35192c06 100644
--- a/drivers/media/video/em28xx/em28xx-core.c
+++ b/drivers/media/video/em28xx/em28xx-core.c
@@ -438,6 +438,10 @@ int em28xx_audio_analog_set(struct em28xx *dev)
if (dev->audio_mode.ac97 != EM28XX_NO_AC97) {
int vol;
+ em28xx_write_ac97(dev, AC97_POWER_DOWN_CTRL, 0x4200);
+ em28xx_write_ac97(dev, AC97_EXT_AUD_CTRL, 0x0031);
+ em28xx_write_ac97(dev, AC97_PCM_IN_SRATE, 0xbb80);
+
/* LSB: left channel - both channels with the same level */
vol = (0x1f - dev->volume) | ((0x1f - dev->volume) << 8);