summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/gspca/sonixj.c
diff options
context:
space:
mode:
authorJean-Francois Moine <moinejf@free.fr>2008-08-26 19:45:11 +0200
committerJean-Francois Moine <moinejf@free.fr>2008-08-26 19:45:11 +0200
commit3f7988d619c216fb0843bd55bd56198d27fc885e (patch)
treed7e3b1ba764a233efb4c36f9ae04439cc70c5f3e /linux/drivers/media/video/gspca/sonixj.c
parent5d2a3a5972b9de4c5e69e0b47a26136c51c44050 (diff)
downloadmediapointer-dvb-s2-3f7988d619c216fb0843bd55bd56198d27fc885e.tar.gz
mediapointer-dvb-s2-3f7988d619c216fb0843bd55bd56198d27fc885e.tar.bz2
gspca: Set the clock at the end of initialization in sonixj.
From: Jean-Francois Moine <moinejf@free.fr> Priority: high Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Diffstat (limited to 'linux/drivers/media/video/gspca/sonixj.c')
-rw-r--r--linux/drivers/media/video/gspca/sonixj.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/linux/drivers/media/video/gspca/sonixj.c b/linux/drivers/media/video/gspca/sonixj.c
index fcab82bb5..72fc4d871 100644
--- a/linux/drivers/media/video/gspca/sonixj.c
+++ b/linux/drivers/media/video/gspca/sonixj.c
@@ -460,7 +460,7 @@ static const __u8 ov7630_sensor_init[][8] = {
{0xa1, 0x21, 0x2b, 0x34, 0x00, 0x00, 0x00, 0x10},
/* */
{0xa1, 0x21, 0x10, 0x83, 0x00, 0x00, 0x00, 0x10},
- {0xb1, 0x21, 0x01, 0x88, 0x70, 0x00, 0x00, 0x10},
+/* {0xb1, 0x21, 0x01, 0x88, 0x70, 0x00, 0x00, 0x10}, */
{}
};
static const __u8 ov7660_sensor_init[][8] = {
@@ -833,12 +833,13 @@ static int configure_gpio(struct gspca_dev *gspca_dev,
reg_w1(gspca_dev, 0x17, 0xae);
reg_w1(gspca_dev, 0x01, 0x42);
break;
-#if 0
+#if 1
/*jfm: from win trace */
case SENSOR_OV7660:
reg_w1(gspca_dev, 0x01, 0x61);
reg_w1(gspca_dev, 0x17, 0x20);
reg_w1(gspca_dev, 0x01, 0x60);
+ reg_w1(gspca_dev, 0x01, 0x40);
break;
#endif
default:
@@ -1111,7 +1112,7 @@ static void setbrightcont(struct gspca_dev *gspca_dev)
{
struct sd *sd = (struct sd *) gspca_dev;
unsigned val;
- __u8 reg84_full[13];
+ __u8 reg84_full[0x15];
memset(reg84_full, 0, sizeof reg84_full);
val = sd->contrast * 0x20 / CONTRAST_MAX + 0x10; /* 10..30 */
@@ -1123,7 +1124,7 @@ static void setbrightcont(struct gspca_dev *gspca_dev)
/ BRIGHTNESS_MAX;
else
val = 0;
- reg84_full[10] = val; /* 00..1f */
+ reg84_full[0x12] = val; /* 00..1f */
reg_w(gspca_dev, 0x84, reg84_full, sizeof reg84_full);
}
@@ -1219,7 +1220,6 @@ static void sd_start(struct gspca_dev *gspca_dev)
sn9c1xx = sn_tb[(int) sd->sensor];
configure_gpio(gspca_dev, sn9c1xx);
-/* reg_w1(gspca_dev, 0x01, 0x44); jfm from win trace*/
reg_w1(gspca_dev, 0x15, sn9c1xx[0x15]);
reg_w1(gspca_dev, 0x16, sn9c1xx[0x16]);
reg_w1(gspca_dev, 0x12, sn9c1xx[0x12]);
@@ -1355,7 +1355,6 @@ static void sd_start(struct gspca_dev *gspca_dev)
reg_w1(gspca_dev, 0x18, reg18);
reg_w1(gspca_dev, 0x17, reg17);
- reg_w1(gspca_dev, 0x01, reg1);
switch (sd->sensor) {
case SENSOR_HV7131R:
case SENSOR_MI0360:
@@ -1369,6 +1368,7 @@ static void sd_start(struct gspca_dev *gspca_dev)
break;
}
setautogain(gspca_dev);
+ reg_w1(gspca_dev, 0x01, reg1);
}
static void sd_stopN(struct gspca_dev *gspca_dev)