From: Jean-Francois Moine <moinejf@free.fr>
Date: Sun, 18 Jan 2009 17:24:52 +0000 (-0300)
Subject: V4L/DVB (10371): gspca - spca561: Fix image problem in the 352x288 mode of rev72a.
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=a48196a2f74a2e19e67debe194e337dfc583702f;p=linux.git

V4L/DVB (10371): gspca - spca561: Fix image problem in the 352x288 mode of rev72a.

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>
---

diff --git a/drivers/media/video/gspca/spca561.c b/drivers/media/video/gspca/spca561.c
index c99fe0f904fe6..c99c5e34e211d 100644
--- a/drivers/media/video/gspca/spca561.c
+++ b/drivers/media/video/gspca/spca561.c
@@ -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 */