summaryrefslogtreecommitdiffstats
path: root/drivers/media/video/em28xx/em28xx-core.c
diff options
context:
space:
mode:
authorMauro Carvalho Chehab2009-08-07 23:43:00 +0200
committerMauro Carvalho Chehab2009-08-14 01:39:10 +0200
commitd7612c86d099939503c2f849a523dbca753d1935 (patch)
treeda7ac74b1cefb92dcfc83072671e1201c95297b4 /drivers/media/video/em28xx/em28xx-core.c
parentV4L/DVB (12411): em28xx: Fix artifacts with Silvercrest webcam (diff)
downloadkernel-qcow2-linux-d7612c86d099939503c2f849a523dbca753d1935.tar.gz
kernel-qcow2-linux-d7612c86d099939503c2f849a523dbca753d1935.tar.xz
kernel-qcow2-linux-d7612c86d099939503c2f849a523dbca753d1935.zip
V4L/DVB (12405): em28xx-cards: move register 0x13 setting to the proper place
Register 0x13 seems to be a sort of image control, maybe gamma, white level or black level. Lower values produce better images, while higher values increases the contrast and shifts colors to green. 0xff produces a black image. This register is not Silvercrest-specific, so its code should be moved to a better place. If this register is left alone, a random value can be found at the register, producing weird results. While here, let's remove register 0x0d, as it had no noticed effect at the image. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/em28xx/em28xx-core.c')
-rw-r--r--drivers/media/video/em28xx/em28xx-core.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/media/video/em28xx/em28xx-core.c b/drivers/media/video/em28xx/em28xx-core.c
index 339fffdf6bce..98e140b5d95e 100644
--- a/drivers/media/video/em28xx/em28xx-core.c
+++ b/drivers/media/video/em28xx/em28xx-core.c
@@ -632,6 +632,9 @@ int em28xx_capture_start(struct em28xx *dev, int start)
return rc;
}
+ if (dev->board.is_webcam)
+ rc = em28xx_write_reg(dev, 0x13, 0x0c);
+
/* enable video capture */
rc = em28xx_write_reg(dev, 0x48, 0x00);