• Home
  • Raw
  • Download

Lines Matching refs:sd

65 static int hdcs_reg_write_seq(struct sd *sd, u8 reg, u8 *vals, u8 len)  in hdcs_reg_write_seq()  argument
79 return stv06xx_write_sensor_bytes(sd, regs, len); in hdcs_reg_write_seq()
82 static int hdcs_set_state(struct sd *sd, enum hdcs_power_state state) in hdcs_set_state() argument
84 struct hdcs *hdcs = sd->sensor_priv; in hdcs_set_state()
93 ret = stv06xx_write_sensor(sd, HDCS_REG_CONTROL(sd), 0); in hdcs_set_state()
116 ret = stv06xx_write_sensor(sd, HDCS_REG_CONTROL(sd), val); in hdcs_set_state()
123 static int hdcs_reset(struct sd *sd) in hdcs_reset() argument
125 struct hdcs *hdcs = sd->sensor_priv; in hdcs_reset()
128 err = stv06xx_write_sensor(sd, HDCS_REG_CONTROL(sd), 1); in hdcs_reset()
132 err = stv06xx_write_sensor(sd, HDCS_REG_CONTROL(sd), 0); in hdcs_reset()
141 struct sd *sd = (struct sd *) gspca_dev; in hdcs_get_exposure() local
142 struct hdcs *hdcs = sd->sensor_priv; in hdcs_get_exposure()
155 err = stv06xx_read_sensor(sd, HDCS_ROWEXPL, &data[0]); in hdcs_get_exposure()
159 err = stv06xx_read_sensor(sd, HDCS_ROWEXPH, &data[1]); in hdcs_get_exposure()
177 struct sd *sd = (struct sd *) gspca_dev; in hdcs_set_exposure() local
178 struct hdcs *hdcs = sd->sensor_priv; in hdcs_set_exposure()
207 if (IS_1020(sd)) { in hdcs_set_exposure()
226 if (IS_1020(sd)) { in hdcs_set_exposure()
232 err = hdcs_reg_write_seq(sd, HDCS_ROWEXPL, exp, 4); in hdcs_set_exposure()
238 err = hdcs_reg_write_seq(sd, HDCS_ROWEXPL, exp, 4); in hdcs_set_exposure()
243 err = stv06xx_write_sensor(sd, in hdcs_set_exposure()
251 static int hdcs_set_gains(struct sd *sd, u8 r, u8 g, u8 b) in hdcs_set_gains() argument
268 return hdcs_reg_write_seq(sd, HDCS_ERECPGA, gains, 4); in hdcs_set_gains()
273 struct sd *sd = (struct sd *) gspca_dev; in hdcs_get_gain() local
277 err = stv06xx_read_sensor(sd, HDCS_ERECPGA, &data); in hdcs_get_gain()
292 return hdcs_set_gains((struct sd *) gspca_dev, in hdcs_set_gain()
296 static int hdcs_set_size(struct sd *sd, in hdcs_set_size() argument
299 struct hdcs *hdcs = sd->sensor_priv; in hdcs_set_size()
311 if (IS_1020(sd)) { in hdcs_set_size()
334 err = hdcs_reg_write_seq(sd, HDCS_FWROW, win, 4); in hdcs_set_size()
344 static int hdcs_probe_1x00(struct sd *sd) in hdcs_probe_1x00() argument
350 ret = stv06xx_read_sensor(sd, HDCS_IDENT, &sensor); in hdcs_probe_1x00()
356 sd->gspca_dev.cam.cam_mode = stv06xx_sensor_hdcs1x00.modes; in hdcs_probe_1x00()
357 sd->gspca_dev.cam.nmodes = stv06xx_sensor_hdcs1x00.nmodes; in hdcs_probe_1x00()
358 sd->desc.ctrls = stv06xx_sensor_hdcs1x00.ctrls; in hdcs_probe_1x00()
359 sd->desc.nctrls = stv06xx_sensor_hdcs1x00.nctrls; in hdcs_probe_1x00()
396 hdcs->psmp = IS_870(sd) ? 20 : 5; in hdcs_probe_1x00()
398 sd->sensor_priv = hdcs; in hdcs_probe_1x00()
403 static int hdcs_probe_1020(struct sd *sd) in hdcs_probe_1020() argument
409 ret = stv06xx_read_sensor(sd, HDCS_IDENT, &sensor); in hdcs_probe_1020()
415 sd->gspca_dev.cam.cam_mode = stv06xx_sensor_hdcs1020.modes; in hdcs_probe_1020()
416 sd->gspca_dev.cam.nmodes = stv06xx_sensor_hdcs1020.nmodes; in hdcs_probe_1020()
417 sd->desc.ctrls = stv06xx_sensor_hdcs1020.ctrls; in hdcs_probe_1020()
418 sd->desc.nctrls = stv06xx_sensor_hdcs1020.nctrls; in hdcs_probe_1020()
442 sd->sensor_priv = hdcs; in hdcs_probe_1020()
447 static int hdcs_start(struct sd *sd) in hdcs_start() argument
451 return hdcs_set_state(sd, HDCS_STATE_RUN); in hdcs_start()
454 static int hdcs_stop(struct sd *sd) in hdcs_stop() argument
458 return hdcs_set_state(sd, HDCS_STATE_SLEEP); in hdcs_stop()
461 static void hdcs_disconnect(struct sd *sd) in hdcs_disconnect() argument
464 kfree(sd->sensor_priv); in hdcs_disconnect()
467 static int hdcs_init(struct sd *sd) in hdcs_init() argument
469 struct hdcs *hdcs = sd->sensor_priv; in hdcs_init()
473 if (IS_870(sd)) in hdcs_init()
474 stv06xx_write_bridge(sd, STV_STV0600_EMULATION, 1); in hdcs_init()
478 err = stv06xx_write_bridge(sd, stv_bridge_init[i][0], in hdcs_init()
485 hdcs_reset(sd); in hdcs_init()
489 err = stv06xx_write_sensor(sd, stv_sensor_init[i][0], in hdcs_init()
496 err = stv06xx_write_sensor(sd, HDCS_REG_CONFIG(sd), BIT(3)); in hdcs_init()
502 if (IS_1020(sd)) in hdcs_init()
503 err = stv06xx_write_sensor(sd, HDCS_TCTRL, in hdcs_init()
506 err = stv06xx_write_sensor(sd, HDCS_TCTRL, in hdcs_init()
511 err = hdcs_set_gains(sd, HDCS_DEFAULT_GAIN, HDCS_DEFAULT_GAIN, in hdcs_init()
516 err = hdcs_set_exposure(&sd->gspca_dev, HDCS_DEFAULT_EXPOSURE); in hdcs_init()
520 err = hdcs_set_size(sd, hdcs->array.width, hdcs->array.height); in hdcs_init()
524 static int hdcs_dump(struct sd *sd) in hdcs_dump() argument
531 stv06xx_read_sensor(sd, reg, &val); in hdcs_dump()