aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorGerman Galkin <galkinga@gmail.com>2010-03-07 04:19:02 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-05-17 23:46:29 -0400
commite10f73194d63321d020433fa1287e619d4107b79 (patch)
treea5864a948c0c7e3f8d15e06a84491ef0c9504297 /drivers
parent24f222e77ad62e41b1a882c77feeb8268c80b909 (diff)
V4L/DVB: gspca - sn9c20x: Fix exposure control for HV7131R sensor
Make the range of exposure values (0-0x1770) distribute evenly through HV7131R's exposure control bytes. Signed-off-by: German Galkin <galkinga@gmail.com> Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/video/gspca/sn9c20x.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/media/video/gspca/sn9c20x.c b/drivers/media/video/gspca/sn9c20x.c
index 3dee3e5844b6..04bf80ddfbb8 100644
--- a/drivers/media/video/gspca/sn9c20x.c
+++ b/drivers/media/video/gspca/sn9c20x.c
@@ -1655,9 +1655,9 @@ static int set_exposure(struct gspca_dev *gspca_dev)
1655 case SENSOR_HV7131R: 1655 case SENSOR_HV7131R:
1656 exp[0] |= (4 << 4); 1656 exp[0] |= (4 << 4);
1657 exp[2] = 0x25; 1657 exp[2] = 0x25;
1658 exp[3] = ((sd->exposure * 0xffffff) / 0xffff) >> 16; 1658 exp[3] = (sd->exposure >> 5) & 0xff;
1659 exp[4] = ((sd->exposure * 0xffffff) / 0xffff) >> 8; 1659 exp[4] = (sd->exposure << 3) & 0xff;
1660 exp[5] = ((sd->exposure * 0xffffff) / 0xffff) & 0xff; 1660 exp[5] = 0;
1661 break; 1661 break;
1662 default: 1662 default:
1663 return 0; 1663 return 0;