V4L/DVB (10371): gspca - spca561: Fix image problem in the 352x288 mode of rev72a.
authorJean-Francois Moine <moinejf@free.fr>
Sun, 18 Jan 2009 17:24:52 +0000 (14:24 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 30 Mar 2009 15:42:32 +0000 (12:42 -0300)
With the wrong clock value, the image had two moving colored lines.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/gspca/spca561.c

index c99fe0f904fe645c5379812e5e4490d75f77bb8f..c99c5e34e211d6ada81910d0d0b5bf981b11ac08 100644 (file)
@@ -648,8 +648,10 @@ static int sd_start_72a(struct gspca_dev *gspca_dev)
        mode = gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv;
        switch (mode) {
        default:
-/*     case 0:
-       case 1: */
+       case 0:
+               Clck = 0x27;            /* ms-win 0x87 */
+               break;
+       case 1:
                Clck = 0x25;
                break;
        case 2:
@@ -659,8 +661,9 @@ static int sd_start_72a(struct gspca_dev *gspca_dev)
                Clck = 0x21;
                break;
        }
-       reg_w_val(dev, 0x8500, mode);   /* mode */
        reg_w_val(dev, 0x8700, Clck);   /* 0x27 clock */
+       reg_w_val(dev, 0x8702, 0x81);
+       reg_w_val(dev, 0x8500, mode);   /* mode */
        write_sensor_72a(gspca_dev, rev72a_init_sensor2);
        setcontrast(gspca_dev);
 /*     setbrightness(gspca_dev);        * fixme: bad values */