gspca - ov534: Fix the light frequency filter.
Commit Message
From: Jean-François Moine <moinejf@free.fr>
The exchanges relative to the light frequency filter were adapted
from a description found in a ms-windows driver. It seems that the
registers were the ones of some other sensor.
This patch was done thanks to the documentation of the right
OmniVision sensors.
Note: The light frequency filter is either off or automatic.
The application will see either off or "50Hz" only.
@@ -1038,13 +1038,12 @@
{
struct sd *sd = (struct sd *) gspca_dev;
- val = val ? 0x9e : 0x00;
- if (sd->sensor == SENSOR_OV767x) {
- sccb_reg_write(gspca_dev, 0x2a, 0x00);
- if (val)
- val = 0x9d; /* insert dummy to 25fps for 50Hz */
- }
- sccb_reg_write(gspca_dev, 0x2b, val);
+ if (!val)
+ sccb_reg_write(gspca_dev, 0x13, /* off */
+ sccb_reg_read(gspca_dev, 0x13) & ~0x20);
+ else
+ sccb_reg_write(gspca_dev, 0x13, /* auto */
+ sccb_reg_read(gspca_dev, 0x13) | 0x20);
}