Loading drivers/media/video/gspca/mars.c +13 −10 Original line number Diff line number Diff line Loading @@ -69,10 +69,10 @@ static struct ctrl sd_ctrls[] = { .id = V4L2_CID_SATURATION, .type = V4L2_CTRL_TYPE_INTEGER, .name = "Color", .minimum = 0, .maximum = 220, .minimum = 1, .maximum = 255, .step = 1, #define COLOR_DEF 190 #define COLOR_DEF 200 .default_value = COLOR_DEF, }, .set = sd_setcolors, Loading Loading @@ -191,7 +191,7 @@ static int sd_start(struct gspca_dev *gspca_dev) struct sd *sd = (struct sd *) gspca_dev; int err_code; u8 *data; int i, val; int i; data = gspca_dev->usb_buf; Loading Loading @@ -247,9 +247,11 @@ static int sd_start(struct gspca_dev *gspca_dev) data[0] = 0x5e; /* address */ data[1] = 0; /* reg 94, Y Gain (auto) */ /*jfm: from win trace*/ val = sd->colors * 0x40 + 0x400; data[2] = val; /* reg 0x5f/0x60 (LE) = saturation */ data[3] = val >> 8; /* reg 0x5f/0x60 (LE) = saturation */ /* h (60): xxxx x100 * l (5f): xxxx x000 */ data[2] = sd->colors << 3; data[3] = ((sd->colors >> 2) & 0xf8) | 0x04; data[4] = sd->brightness; /* reg 0x61 = brightness */ data[5] = 0x00; Loading Loading @@ -365,10 +367,11 @@ static int sd_setcolors(struct gspca_dev *gspca_dev, __s32 val) sd->colors = val; if (gspca_dev->streaming) { val = val * 0x40 + 0x400; /* see sd_start */ gspca_dev->usb_buf[0] = 0x5f; gspca_dev->usb_buf[1] = val; gspca_dev->usb_buf[2] = val >> 8; gspca_dev->usb_buf[1] = sd->colors << 3; gspca_dev->usb_buf[2] = ((sd->colors >> 2) & 0xf8) | 0x04; reg_w(gspca_dev, 3); } return 0; Loading Loading
drivers/media/video/gspca/mars.c +13 −10 Original line number Diff line number Diff line Loading @@ -69,10 +69,10 @@ static struct ctrl sd_ctrls[] = { .id = V4L2_CID_SATURATION, .type = V4L2_CTRL_TYPE_INTEGER, .name = "Color", .minimum = 0, .maximum = 220, .minimum = 1, .maximum = 255, .step = 1, #define COLOR_DEF 190 #define COLOR_DEF 200 .default_value = COLOR_DEF, }, .set = sd_setcolors, Loading Loading @@ -191,7 +191,7 @@ static int sd_start(struct gspca_dev *gspca_dev) struct sd *sd = (struct sd *) gspca_dev; int err_code; u8 *data; int i, val; int i; data = gspca_dev->usb_buf; Loading Loading @@ -247,9 +247,11 @@ static int sd_start(struct gspca_dev *gspca_dev) data[0] = 0x5e; /* address */ data[1] = 0; /* reg 94, Y Gain (auto) */ /*jfm: from win trace*/ val = sd->colors * 0x40 + 0x400; data[2] = val; /* reg 0x5f/0x60 (LE) = saturation */ data[3] = val >> 8; /* reg 0x5f/0x60 (LE) = saturation */ /* h (60): xxxx x100 * l (5f): xxxx x000 */ data[2] = sd->colors << 3; data[3] = ((sd->colors >> 2) & 0xf8) | 0x04; data[4] = sd->brightness; /* reg 0x61 = brightness */ data[5] = 0x00; Loading Loading @@ -365,10 +367,11 @@ static int sd_setcolors(struct gspca_dev *gspca_dev, __s32 val) sd->colors = val; if (gspca_dev->streaming) { val = val * 0x40 + 0x400; /* see sd_start */ gspca_dev->usb_buf[0] = 0x5f; gspca_dev->usb_buf[1] = val; gspca_dev->usb_buf[2] = val >> 8; gspca_dev->usb_buf[1] = sd->colors << 3; gspca_dev->usb_buf[2] = ((sd->colors >> 2) & 0xf8) | 0x04; reg_w(gspca_dev, 3); } return 0; Loading