Lines Matching refs:gspca_dev
65 struct gspca_dev gspca_dev; /* !! must be the first item */ member
2039 struct gspca_dev *gspca_dev = (struct gspca_dev *)sd; in reg_w() local
2042 if (sd->gspca_dev.usb_err < 0) in reg_w()
2056 ret = usb_control_msg(sd->gspca_dev.dev, in reg_w()
2057 usb_sndctrlpipe(sd->gspca_dev.dev, 0), in reg_w()
2068 sd->gspca_dev.usb_buf[0] = value; in reg_w()
2069 ret = usb_control_msg(sd->gspca_dev.dev, in reg_w()
2070 usb_sndctrlpipe(sd->gspca_dev.dev, 0), in reg_w()
2074 sd->gspca_dev.usb_buf, 1, 500); in reg_w()
2078 sd->gspca_dev.usb_err = ret; in reg_w()
2087 struct gspca_dev *gspca_dev = (struct gspca_dev *)sd; in reg_r() local
2091 if (sd->gspca_dev.usb_err < 0) in reg_r()
2106 ret = usb_control_msg(sd->gspca_dev.dev, in reg_r()
2107 usb_rcvctrlpipe(sd->gspca_dev.dev, 0), in reg_r()
2110 0, index, sd->gspca_dev.usb_buf, 1, 500); in reg_r()
2113 ret = sd->gspca_dev.usb_buf[0]; in reg_r()
2118 sd->gspca_dev.usb_err = ret; in reg_r()
2128 struct gspca_dev *gspca_dev = (struct gspca_dev *)sd; in reg_r8() local
2131 if (sd->gspca_dev.usb_err < 0) in reg_r8()
2134 ret = usb_control_msg(sd->gspca_dev.dev, in reg_r8()
2135 usb_rcvctrlpipe(sd->gspca_dev.dev, 0), in reg_r8()
2138 0, index, sd->gspca_dev.usb_buf, 8, 500); in reg_r8()
2141 ret = sd->gspca_dev.usb_buf[0]; in reg_r8()
2144 sd->gspca_dev.usb_err = ret; in reg_r8()
2182 struct gspca_dev *gspca_dev = (struct gspca_dev *)sd; in ov518_reg_w32() local
2185 if (sd->gspca_dev.usb_err < 0) in ov518_reg_w32()
2188 *((__le32 *) sd->gspca_dev.usb_buf) = __cpu_to_le32(value); in ov518_reg_w32()
2190 ret = usb_control_msg(sd->gspca_dev.dev, in ov518_reg_w32()
2191 usb_sndctrlpipe(sd->gspca_dev.dev, 0), in ov518_reg_w32()
2195 sd->gspca_dev.usb_buf, n, 500); in ov518_reg_w32()
2198 sd->gspca_dev.usb_err = ret; in ov518_reg_w32()
2204 struct gspca_dev *gspca_dev = (struct gspca_dev *)sd; in ov511_i2c_w() local
2238 struct gspca_dev *gspca_dev = (struct gspca_dev *)sd; in ov511_i2c_r() local
2311 struct gspca_dev *gspca_dev = (struct gspca_dev *)sd; in ov518_i2c_w() local
2338 struct gspca_dev *gspca_dev = (struct gspca_dev *)sd; in ov518_i2c_r() local
2359 struct gspca_dev *gspca_dev = (struct gspca_dev *)sd; in ovfx2_i2c_w() local
2362 if (sd->gspca_dev.usb_err < 0) in ovfx2_i2c_w()
2365 ret = usb_control_msg(sd->gspca_dev.dev, in ovfx2_i2c_w()
2366 usb_sndctrlpipe(sd->gspca_dev.dev, 0), in ovfx2_i2c_w()
2373 sd->gspca_dev.usb_err = ret; in ovfx2_i2c_w()
2381 struct gspca_dev *gspca_dev = (struct gspca_dev *)sd; in ovfx2_i2c_r() local
2384 if (sd->gspca_dev.usb_err < 0) in ovfx2_i2c_r()
2387 ret = usb_control_msg(sd->gspca_dev.dev, in ovfx2_i2c_r()
2388 usb_rcvctrlpipe(sd->gspca_dev.dev, 0), in ovfx2_i2c_r()
2391 0, (u16) reg, sd->gspca_dev.usb_buf, 1, 500); in ovfx2_i2c_r()
2394 ret = sd->gspca_dev.usb_buf[0]; in ovfx2_i2c_r()
2398 sd->gspca_dev.usb_err = ret; in ovfx2_i2c_r()
2427 if (sd->gspca_dev.usb_err >= 0) { in i2c_w()
2494 struct gspca_dev *gspca_dev = (struct gspca_dev *)sd; in ov51x_stop() local
2525 struct gspca_dev *gspca_dev = (struct gspca_dev *)sd; in ov51x_restart() local
2565 struct gspca_dev *gspca_dev = (struct gspca_dev *)sd; in init_ov_sensor() local
2645 struct gspca_dev *gspca_dev = (struct gspca_dev *)sd; in ov_hires_configure() local
2692 struct gspca_dev *gspca_dev = (struct gspca_dev *)sd; in ov8xx0_configure() local
2714 struct gspca_dev *gspca_dev = (struct gspca_dev *)sd; in ov7xx0_configure() local
2799 struct gspca_dev *gspca_dev = (struct gspca_dev *)sd; in ov6xx0_configure() local
2865 static void sd_reset_snapshot(struct gspca_dev *gspca_dev) in sd_reset_snapshot() argument
2867 struct sd *sd = (struct sd *) gspca_dev; in sd_reset_snapshot()
2933 struct gspca_dev *gspca_dev = (struct gspca_dev *)sd; in ov51x_upload_quan_tables() local
2970 static void ov511_configure(struct gspca_dev *gspca_dev) in ov511_configure() argument
2972 struct sd *sd = (struct sd *) gspca_dev; in ov511_configure()
3036 static void ov518_configure(struct gspca_dev *gspca_dev) in ov518_configure() argument
3038 struct sd *sd = (struct sd *) gspca_dev; in ov518_configure()
3174 write_regvals(sd, bridge_ov7660[sd->gspca_dev.curr_mode], in ov519_set_mode()
3176 write_i2c_regvals(sd, sensor_ov7660[sd->gspca_dev.curr_mode], in ov519_set_mode()
3222 reg_w(sd, 0xa4, fr_tb[sd->gspca_dev.curr_mode][fr][0]); in ov519_set_fr()
3223 reg_w(sd, 0x23, fr_tb[sd->gspca_dev.curr_mode][fr][1]); in ov519_set_fr()
3224 clock = fr_tb[sd->gspca_dev.curr_mode][fr][2]; in ov519_set_fr()
3230 static void setautogain(struct gspca_dev *gspca_dev, s32 val) in setautogain() argument
3232 struct sd *sd = (struct sd *) gspca_dev; in setautogain()
3238 static int sd_config(struct gspca_dev *gspca_dev, in sd_config() argument
3241 struct sd *sd = (struct sd *) gspca_dev; in sd_config()
3242 struct cam *cam = &gspca_dev->cam; in sd_config()
3281 static int sd_init(struct gspca_dev *gspca_dev) in sd_init() argument
3283 struct sd *sd = (struct sd *) gspca_dev; in sd_init()
3284 struct cam *cam = &gspca_dev->cam; in sd_init()
3289 ov511_configure(gspca_dev); in sd_init()
3293 ov518_configure(gspca_dev); in sd_init()
3437 sd->gspca_dev.curr_mode = 1; /* 640x480 */ in sd_init()
3440 sd_reset_snapshot(gspca_dev); in sd_init()
3458 return gspca_dev->usb_err; in sd_init()
3465 static int sd_isoc_init(struct gspca_dev *gspca_dev) in sd_isoc_init() argument
3467 struct sd *sd = (struct sd *) gspca_dev; in sd_isoc_init()
3471 if (gspca_dev->pixfmt.width != 800) in sd_isoc_init()
3472 gspca_dev->cam.bulk_size = OVFX2_BULK_SIZE; in sd_isoc_init()
3474 gspca_dev->cam.bulk_size = 7 * 4096; in sd_isoc_init()
3486 struct gspca_dev *gspca_dev = (struct gspca_dev *)sd; in ov511_mode_init_regs() local
3492 intf = usb_ifnum_to_if(sd->gspca_dev.dev, sd->gspca_dev.iface); in ov511_mode_init_regs()
3493 alt = usb_altnum_to_altsetting(intf, sd->gspca_dev.alt); in ov511_mode_init_regs()
3496 sd->gspca_dev.usb_err = -EIO; in ov511_mode_init_regs()
3510 hsegs = (sd->gspca_dev.pixfmt.width >> 3) - 1; in ov511_mode_init_regs()
3511 vsegs = (sd->gspca_dev.pixfmt.height >> 3) - 1; in ov511_mode_init_regs()
3544 if (sd->gspca_dev.pixfmt.width == 320) in ov511_mode_init_regs()
3554 if (sd->gspca_dev.pixfmt.width != 640) { in ov511_mode_init_regs()
3587 needed = fps * sd->gspca_dev.pixfmt.width * in ov511_mode_init_regs()
3588 sd->gspca_dev.pixfmt.height * 3 / 2; in ov511_mode_init_regs()
3612 struct gspca_dev *gspca_dev = (struct gspca_dev *)sd; in ov518_mode_init_regs() local
3617 intf = usb_ifnum_to_if(sd->gspca_dev.dev, sd->gspca_dev.iface); in ov518_mode_init_regs()
3618 alt = usb_altnum_to_altsetting(intf, sd->gspca_dev.alt); in ov518_mode_init_regs()
3621 sd->gspca_dev.usb_err = -EIO; in ov518_mode_init_regs()
3650 hsegs = sd->gspca_dev.pixfmt.width / 16; in ov518_mode_init_regs()
3651 vsegs = sd->gspca_dev.pixfmt.height / 4; in ov518_mode_init_regs()
3691 sd->gspca_dev.pixfmt.width == 640) { in ov518_mode_init_regs()
3797 struct gspca_dev *gspca_dev = (struct gspca_dev *)sd; in ov519_mode_init_regs() local
3817 reg_w(sd, OV519_R10_H_SIZE, sd->gspca_dev.pixfmt.width >> 4); in ov519_mode_init_regs()
3818 reg_w(sd, OV519_R11_V_SIZE, sd->gspca_dev.pixfmt.height >> 3); in ov519_mode_init_regs()
3820 sd->gspca_dev.cam.cam_mode[sd->gspca_dev.curr_mode].priv) in ov519_mode_init_regs()
3823 sd->gspca_dev.cam.cam_mode[sd->gspca_dev.curr_mode].priv) in ov519_mode_init_regs()
3914 struct gspca_dev *gspca_dev = (struct gspca_dev *)sd; in mode_init_ov_sensor_regs() local
3918 qvga = gspca_dev->cam.cam_mode[gspca_dev->curr_mode].priv & 1; in mode_init_ov_sensor_regs()
3952 xstart = (1040 - gspca_dev->pixfmt.width) / 2 + in mode_init_ov_sensor_regs()
3954 ystart = (776 - gspca_dev->pixfmt.height) / 2; in mode_init_ov_sensor_regs()
3956 xstart = (2076 - gspca_dev->pixfmt.width) / 2 + in mode_init_ov_sensor_regs()
3958 ystart = (1544 - gspca_dev->pixfmt.height) / 2; in mode_init_ov_sensor_regs()
3960 xend = xstart + gspca_dev->pixfmt.width; in mode_init_ov_sensor_regs()
3961 yend = ystart + gspca_dev->pixfmt.height; in mode_init_ov_sensor_regs()
4104 static void sethvflip(struct gspca_dev *gspca_dev, s32 hflip, s32 vflip) in sethvflip() argument
4106 struct sd *sd = (struct sd *) gspca_dev; in sethvflip()
4108 if (sd->gspca_dev.streaming) in sethvflip()
4113 if (sd->gspca_dev.streaming) in sethvflip()
4119 struct gspca_dev *gspca_dev; in set_ov_sensor_window() local
4138 gspca_dev = &sd->gspca_dev; in set_ov_sensor_window()
4139 qvga = gspca_dev->cam.cam_mode[gspca_dev->curr_mode].priv & 1; in set_ov_sensor_window()
4140 crop = gspca_dev->cam.cam_mode[gspca_dev->curr_mode].priv & 2; in set_ov_sensor_window()
4231 static int sd_start(struct gspca_dev *gspca_dev) in sd_start() argument
4233 struct sd *sd = (struct sd *) gspca_dev; in sd_start()
4236 sd->sensor_width = sd->gspca_dev.pixfmt.width; in sd_start()
4237 sd->sensor_height = sd->gspca_dev.pixfmt.height; in sd_start()
4262 sd_reset_snapshot(gspca_dev); in sd_start()
4268 return gspca_dev->usb_err; in sd_start()
4271 static void sd_stopN(struct gspca_dev *gspca_dev) in sd_stopN() argument
4273 struct sd *sd = (struct sd *) gspca_dev; in sd_stopN()
4279 static void sd_stop0(struct gspca_dev *gspca_dev) in sd_stop0() argument
4281 struct sd *sd = (struct sd *) gspca_dev; in sd_stop0()
4283 if (!sd->gspca_dev.present) in sd_stop0()
4291 input_report_key(gspca_dev->input_dev, KEY_CAMERA, 0); in sd_stop0()
4292 input_sync(gspca_dev->input_dev); in sd_stop0()
4300 static void ov51x_handle_button(struct gspca_dev *gspca_dev, u8 state) in ov51x_handle_button() argument
4302 struct sd *sd = (struct sd *) gspca_dev; in ov51x_handle_button()
4306 input_report_key(gspca_dev->input_dev, KEY_CAMERA, state); in ov51x_handle_button()
4307 input_sync(gspca_dev->input_dev); in ov51x_handle_button()
4328 static void ov511_pkt_scan(struct gspca_dev *gspca_dev, in ov511_pkt_scan() argument
4332 struct sd *sd = (struct sd *) gspca_dev; in ov511_pkt_scan()
4349 ov51x_handle_button(gspca_dev, (in[8] >> 2) & 1); in ov511_pkt_scan()
4352 if ((in[9] + 1) * 8 != gspca_dev->pixfmt.width || in ov511_pkt_scan()
4353 (in[10] + 1) * 8 != gspca_dev->pixfmt.height) { in ov511_pkt_scan()
4357 gspca_dev->pixfmt.width, in ov511_pkt_scan()
4358 gspca_dev->pixfmt.height); in ov511_pkt_scan()
4359 gspca_dev->last_packet_type = DISCARD_PACKET; in ov511_pkt_scan()
4363 gspca_frame_add(gspca_dev, LAST_PACKET, in, 11); in ov511_pkt_scan()
4367 gspca_frame_add(gspca_dev, FIRST_PACKET, in, 0); in ov511_pkt_scan()
4376 gspca_frame_add(gspca_dev, INTER_PACKET, in, len); in ov511_pkt_scan()
4379 static void ov518_pkt_scan(struct gspca_dev *gspca_dev, in ov518_pkt_scan() argument
4383 struct sd *sd = (struct sd *) gspca_dev; in ov518_pkt_scan()
4388 ov51x_handle_button(gspca_dev, (data[6] >> 1) & 1); in ov518_pkt_scan()
4389 gspca_frame_add(gspca_dev, LAST_PACKET, NULL, 0); in ov518_pkt_scan()
4390 gspca_frame_add(gspca_dev, FIRST_PACKET, NULL, 0); in ov518_pkt_scan()
4394 if (gspca_dev->last_packet_type == DISCARD_PACKET) in ov518_pkt_scan()
4408 gspca_dev->last_packet_type = DISCARD_PACKET; in ov518_pkt_scan()
4414 gspca_frame_add(gspca_dev, INTER_PACKET, data, len); in ov518_pkt_scan()
4417 static void ov519_pkt_scan(struct gspca_dev *gspca_dev, in ov519_pkt_scan() argument
4444 gspca_frame_add(gspca_dev, FIRST_PACKET, in ov519_pkt_scan()
4447 gspca_dev->last_packet_type = DISCARD_PACKET; in ov519_pkt_scan()
4450 ov51x_handle_button(gspca_dev, data[11] & 1); in ov519_pkt_scan()
4452 gspca_dev->last_packet_type = DISCARD_PACKET; in ov519_pkt_scan()
4453 gspca_frame_add(gspca_dev, LAST_PACKET, in ov519_pkt_scan()
4460 gspca_frame_add(gspca_dev, INTER_PACKET, data, len); in ov519_pkt_scan()
4463 static void ovfx2_pkt_scan(struct gspca_dev *gspca_dev, in ovfx2_pkt_scan() argument
4467 struct sd *sd = (struct sd *) gspca_dev; in ovfx2_pkt_scan()
4469 gspca_frame_add(gspca_dev, INTER_PACKET, data, len); in ovfx2_pkt_scan()
4472 if (len < gspca_dev->cam.bulk_size) { in ovfx2_pkt_scan()
4477 if (gspca_dev->image_len < in ovfx2_pkt_scan()
4478 sd->gspca_dev.pixfmt.width * in ovfx2_pkt_scan()
4479 sd->gspca_dev.pixfmt.height) in ovfx2_pkt_scan()
4480 gspca_dev->last_packet_type = DISCARD_PACKET; in ovfx2_pkt_scan()
4482 gspca_frame_add(gspca_dev, LAST_PACKET, NULL, 0); in ovfx2_pkt_scan()
4483 gspca_frame_add(gspca_dev, FIRST_PACKET, NULL, 0); in ovfx2_pkt_scan()
4487 static void sd_pkt_scan(struct gspca_dev *gspca_dev, in sd_pkt_scan() argument
4491 struct sd *sd = (struct sd *) gspca_dev; in sd_pkt_scan()
4496 ov511_pkt_scan(gspca_dev, data, len); in sd_pkt_scan()
4500 ov518_pkt_scan(gspca_dev, data, len); in sd_pkt_scan()
4503 ov519_pkt_scan(gspca_dev, data, len); in sd_pkt_scan()
4506 ovfx2_pkt_scan(gspca_dev, data, len); in sd_pkt_scan()
4509 w9968cf_pkt_scan(gspca_dev, data, len); in sd_pkt_scan()
4516 static void setbrightness(struct gspca_dev *gspca_dev, s32 val) in setbrightness() argument
4518 struct sd *sd = (struct sd *) gspca_dev; in setbrightness()
4563 static void setcontrast(struct gspca_dev *gspca_dev, s32 val) in setcontrast() argument
4565 struct sd *sd = (struct sd *) gspca_dev; in setcontrast()
4665 static void setexposure(struct gspca_dev *gspca_dev, s32 val) in setexposure() argument
4667 struct sd *sd = (struct sd *) gspca_dev; in setexposure()
4672 static void setcolors(struct gspca_dev *gspca_dev, s32 val) in setcolors() argument
4674 struct sd *sd = (struct sd *) gspca_dev; in setcolors()
4721 static void setautobright(struct gspca_dev *gspca_dev, s32 val) in setautobright() argument
4723 struct sd *sd = (struct sd *) gspca_dev; in setautobright()
4787 static void setfreq(struct gspca_dev *gspca_dev, s32 val) in setfreq() argument
4789 struct sd *sd = (struct sd *) gspca_dev; in setfreq()
4798 static int sd_get_jcomp(struct gspca_dev *gspca_dev, in sd_get_jcomp() argument
4801 struct sd *sd = (struct sd *) gspca_dev; in sd_get_jcomp()
4813 static int sd_set_jcomp(struct gspca_dev *gspca_dev, in sd_set_jcomp() argument
4816 struct sd *sd = (struct sd *) gspca_dev; in sd_set_jcomp()
4827 struct gspca_dev *gspca_dev = in sd_g_volatile_ctrl() local
4828 container_of(ctrl->handler, struct gspca_dev, ctrl_handler); in sd_g_volatile_ctrl()
4829 struct sd *sd = (struct sd *)gspca_dev; in sd_g_volatile_ctrl()
4831 gspca_dev->usb_err = 0; in sd_g_volatile_ctrl()
4835 gspca_dev->exposure->val = i2c_r(sd, 0x10); in sd_g_volatile_ctrl()
4843 struct gspca_dev *gspca_dev = in sd_s_ctrl() local
4844 container_of(ctrl->handler, struct gspca_dev, ctrl_handler); in sd_s_ctrl()
4845 struct sd *sd = (struct sd *)gspca_dev; in sd_s_ctrl()
4847 gspca_dev->usb_err = 0; in sd_s_ctrl()
4849 if (!gspca_dev->streaming) in sd_s_ctrl()
4854 setbrightness(gspca_dev, ctrl->val); in sd_s_ctrl()
4857 setcontrast(gspca_dev, ctrl->val); in sd_s_ctrl()
4860 setfreq(gspca_dev, ctrl->val); in sd_s_ctrl()
4864 setautobright(gspca_dev, ctrl->val); in sd_s_ctrl()
4866 setbrightness(gspca_dev, sd->brightness->val); in sd_s_ctrl()
4869 setcolors(gspca_dev, ctrl->val); in sd_s_ctrl()
4872 sethvflip(gspca_dev, ctrl->val, sd->vflip->val); in sd_s_ctrl()
4876 setautogain(gspca_dev, ctrl->val); in sd_s_ctrl()
4877 if (!ctrl->val && gspca_dev->exposure->is_new) in sd_s_ctrl()
4878 setexposure(gspca_dev, gspca_dev->exposure->val); in sd_s_ctrl()
4883 return gspca_dev->usb_err; in sd_s_ctrl()
4891 static int sd_init_controls(struct gspca_dev *gspca_dev) in sd_init_controls() argument
4893 struct sd *sd = (struct sd *)gspca_dev; in sd_init_controls()
4894 struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler; in sd_init_controls()
4896 gspca_dev->vdev.ctrl_handler = hdl; in sd_init_controls()
4919 gspca_dev->exposure = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops, in sd_init_controls()
4931 gspca_dev->autogain = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops, in sd_init_controls()
4953 if (gspca_dev->autogain) in sd_init_controls()
4954 v4l2_ctrl_auto_cluster(3, &gspca_dev->autogain, 0, true); in sd_init_controls()