Lines Matching +full:5 +full:d

36 static int anysee_ctrl_msg(struct dvb_usb_device *d,  in anysee_ctrl_msg()  argument
39 struct anysee_state *state = d_to_priv(d); in anysee_ctrl_msg()
42 mutex_lock(&d->usb_mutex); in anysee_ctrl_msg()
47 dev_dbg(&d->udev->dev, "%s: >>> %*ph\n", __func__, slen, state->buf); in anysee_ctrl_msg()
51 ret = dvb_usbv2_generic_rw_locked(d, state->buf, sizeof(state->buf), in anysee_ctrl_msg()
70 ret = usb_bulk_msg(d->udev, usb_rcvbulkpipe(d->udev, in anysee_ctrl_msg()
71 d->props->generic_bulk_ctrl_endpoint), in anysee_ctrl_msg()
74 dev_dbg(&d->udev->dev, in anysee_ctrl_msg()
75 "%s: recv bulk message failed=%d\n", in anysee_ctrl_msg()
78 dev_dbg(&d->udev->dev, "%s: <<< %*ph\n", __func__, in anysee_ctrl_msg()
82 dev_dbg(&d->udev->dev, in anysee_ctrl_msg()
90 dev_err(&d->udev->dev, "%s: recv bulk message failed=%d\n", in anysee_ctrl_msg()
100 mutex_unlock(&d->usb_mutex); in anysee_ctrl_msg()
104 static int anysee_read_reg(struct dvb_usb_device *d, u16 reg, u8 *val) in anysee_read_reg() argument
108 ret = anysee_ctrl_msg(d, buf, sizeof(buf), val, 1); in anysee_read_reg()
109 dev_dbg(&d->udev->dev, "%s: reg=%04x val=%02x\n", __func__, reg, *val); in anysee_read_reg()
113 static int anysee_write_reg(struct dvb_usb_device *d, u16 reg, u8 val) in anysee_write_reg() argument
116 dev_dbg(&d->udev->dev, "%s: reg=%04x val=%02x\n", __func__, reg, val); in anysee_write_reg()
117 return anysee_ctrl_msg(d, buf, sizeof(buf), NULL, 0); in anysee_write_reg()
121 static int anysee_wr_reg_mask(struct dvb_usb_device *d, u16 reg, u8 val, in anysee_wr_reg_mask() argument
129 ret = anysee_read_reg(d, reg, &tmp); in anysee_wr_reg_mask()
138 return anysee_write_reg(d, reg, val); in anysee_wr_reg_mask()
142 static int anysee_rd_reg_mask(struct dvb_usb_device *d, u16 reg, u8 *val, in anysee_rd_reg_mask() argument
148 ret = anysee_read_reg(d, reg, &tmp); in anysee_rd_reg_mask()
164 static int anysee_get_hw_info(struct dvb_usb_device *d, u8 *id) in anysee_get_hw_info() argument
167 return anysee_ctrl_msg(d, buf, sizeof(buf), id, 3); in anysee_get_hw_info()
173 dev_dbg(&fe_to_d(fe)->udev->dev, "%s: onoff=%d\n", __func__, onoff); in anysee_streaming_ctrl()
177 static int anysee_led_ctrl(struct dvb_usb_device *d, u8 mode, u8 interval) in anysee_led_ctrl() argument
180 dev_dbg(&d->udev->dev, "%s: state=%d interval=%d\n", __func__, in anysee_led_ctrl()
182 return anysee_ctrl_msg(d, buf, sizeof(buf), NULL, 0); in anysee_led_ctrl()
185 static int anysee_ir_ctrl(struct dvb_usb_device *d, u8 onoff) in anysee_ir_ctrl() argument
188 dev_dbg(&d->udev->dev, "%s: onoff=%d\n", __func__, onoff); in anysee_ir_ctrl()
189 return anysee_ctrl_msg(d, buf, sizeof(buf), NULL, 0); in anysee_ir_ctrl()
196 struct dvb_usb_device *d = i2c_get_adapdata(adap); in anysee_master_xfer() local
200 if (mutex_lock_interruptible(&d->i2c_mutex) < 0) in anysee_master_xfer()
214 buf[5] = msg[i+1].len; in anysee_master_xfer()
215 ret = anysee_ctrl_msg(d, buf, 6, msg[i+1].buf, in anysee_master_xfer()
228 ret = anysee_ctrl_msg(d, buf, 4 + msg[i].len, NULL, 0); in anysee_master_xfer()
237 mutex_unlock(&d->i2c_mutex); in anysee_master_xfer()
407 * IOA=4d IOB=ff IOC=00 IOD=26 IOE=01
414 * IOA=4d IOB=ff IOC=00 IOD=00 IOE=c0
415 * IOD[5] TDA10023 1=enabled
422 * IOA=4d IOB=ff IOC=00 IOD=00 IOE=c0
424 * IOD[5] TDA10023 1=enabled
436 * IOA=4d IOB=00 IOC=cc IOD=48 IOE=e4
441 * IOD[5] TDA10023 1=enabled
444 * IOD[5] TDA10023 0=disabled
452 * IOA=4d IOB=00 IOC=c4 IOD=08 IOE=e4
454 * IOE[5] STV0903 1=enabled
460 * IOA=4d IOB=00 IOC=cc IOD=48 IOE=e4
462 * IOE[5] CXD2820R 1=enabled
465 * PCB: 508PTC (rev0.5)
468 * IOA=4d IOB=00 IOC=cc IOD=48 IOE=e4
473 * IOD[5] TDA10023 1=enabled
476 * IOD[5] TDA10023 0=disabled
484 * IOA=4d IOB=00 IOC=c4 IOD=08 IOE=e4
486 * IOE[5] STV0903 1=enabled
489 static int anysee_read_config(struct dvb_usb_device *d) in anysee_read_config() argument
491 struct anysee_state *state = d_to_priv(d); in anysee_read_config()
499 ret = anysee_get_hw_info(d, hw_info); in anysee_read_config()
503 ret = anysee_get_hw_info(d, hw_info); in anysee_read_config()
510 dev_info(&d->udev->dev, "%s: firmware version %d.%d hardware id %d\n", in anysee_read_config()
528 struct dvb_usb_device *d = fe_to_d(fe); in anysee_frontend_ctrl() local
530 dev_dbg(&d->udev->dev, "%s: fe=%d onoff=%d\n", __func__, fe->id, onoff); in anysee_frontend_ctrl()
543 ret = anysee_wr_reg_mask(d, REG_IOD, (0 << 0), 0x01); in anysee_frontend_ctrl()
547 /* enable DVB-C demod on IOD[5] */ in anysee_frontend_ctrl()
548 ret = anysee_wr_reg_mask(d, REG_IOD, (1 << 5), 0x20); in anysee_frontend_ctrl()
553 ret = anysee_wr_reg_mask(d, REG_IOE, (1 << 0), 0x01); in anysee_frontend_ctrl()
557 /* disable DVB-C demod on IOD[5] */ in anysee_frontend_ctrl()
558 ret = anysee_wr_reg_mask(d, REG_IOD, (0 << 5), 0x20); in anysee_frontend_ctrl()
563 ret = anysee_wr_reg_mask(d, REG_IOD, (1 << 0), 0x01); in anysee_frontend_ctrl()
568 ret = anysee_wr_reg_mask(d, REG_IOE, (0 << 0), 0x01); in anysee_frontend_ctrl()
581 ret = anysee_wr_reg_mask(d, REG_IOD, (0 << 6), 0x40); in anysee_frontend_ctrl()
585 /* enable DVB-C demod on IOD[5] */ in anysee_frontend_ctrl()
586 ret = anysee_wr_reg_mask(d, REG_IOD, (1 << 5), 0x20); in anysee_frontend_ctrl()
591 ret = anysee_wr_reg_mask(d, REG_IOE, (1 << 0), 0x01); in anysee_frontend_ctrl()
595 /* disable DVB-C demod on IOD[5] */ in anysee_frontend_ctrl()
596 ret = anysee_wr_reg_mask(d, REG_IOD, (0 << 5), 0x20); in anysee_frontend_ctrl()
601 ret = anysee_wr_reg_mask(d, REG_IOD, (1 << 6), 0x40); in anysee_frontend_ctrl()
606 ret = anysee_wr_reg_mask(d, REG_IOE, (0 << 0), 0x01); in anysee_frontend_ctrl()
620 static int anysee_add_i2c_dev(struct dvb_usb_device *d, const char *type, in anysee_add_i2c_dev() argument
624 struct anysee_state *state = d_to_priv(d); in anysee_add_i2c_dev()
626 struct i2c_adapter *adapter = &d->i2c_adap; in anysee_add_i2c_dev()
640 dev_dbg(&d->udev->dev, "%s: num=%d\n", __func__, num); in anysee_add_i2c_dev()
643 dev_err(&d->udev->dev, "%s: I2C client out of index\n", in anysee_add_i2c_dev()
668 dev_dbg(&d->udev->dev, "%s: failed=%d\n", __func__, ret); in anysee_add_i2c_dev()
672 static void anysee_del_i2c_dev(struct dvb_usb_device *d) in anysee_del_i2c_dev() argument
675 struct anysee_state *state = d_to_priv(d); in anysee_del_i2c_dev()
685 dev_dbg(&d->udev->dev, "%s: num=%d\n", __func__, num); in anysee_del_i2c_dev()
688 dev_err(&d->udev->dev, "%s: I2C client out of index\n", in anysee_del_i2c_dev()
703 dev_dbg(&d->udev->dev, "%s: failed\n", __func__); in anysee_del_i2c_dev()
709 struct dvb_usb_device *d = adap_to_d(adap); in anysee_frontend_attach() local
732 &d->i2c_adap); in anysee_frontend_attach()
738 &d->i2c_adap); in anysee_frontend_attach()
745 ret = anysee_wr_reg_mask(d, REG_IOD, (1 << 0), 0x01); in anysee_frontend_attach()
750 ret = anysee_wr_reg_mask(d, REG_IOA, (0 << 7), 0x80); in anysee_frontend_attach()
756 &d->i2c_adap); in anysee_frontend_attach()
763 ret = anysee_wr_reg_mask(d, REG_IOD, (1 << 0), 0x01); in anysee_frontend_attach()
769 &anysee_tda10023_config, &d->i2c_adap, 0x48); in anysee_frontend_attach()
776 ret = anysee_wr_reg_mask(d, REG_IOD, (1 << 0), 0x01); in anysee_frontend_attach()
782 &d->i2c_adap); in anysee_frontend_attach()
790 ret = anysee_wr_reg_mask(d, REG_IOE, (1 << 4), 0x10); in anysee_frontend_attach()
796 ret = i2c_transfer(&d->i2c_adap, msg, 2); in anysee_frontend_attach()
798 dev_dbg(&d->udev->dev, "%s: TDA18212 found\n", in anysee_frontend_attach()
806 ret = anysee_wr_reg_mask(d, REG_IOE, (0 << 4), 0x10); in anysee_frontend_attach()
811 ret = anysee_wr_reg_mask(d, REG_IOD, (0 << 0), 0x01); in anysee_frontend_attach()
815 /* enable DVB-C demod on IOD[5] */ in anysee_frontend_attach()
816 ret = anysee_wr_reg_mask(d, REG_IOD, (1 << 5), 0x20); in anysee_frontend_attach()
825 &d->i2c_adap, 0x48); in anysee_frontend_attach()
835 &d->i2c_adap, 0x48); in anysee_frontend_attach()
842 /* disable DVB-C demod on IOD[5] */ in anysee_frontend_attach()
843 ret = anysee_wr_reg_mask(d, REG_IOD, (0 << 5), 0x20); in anysee_frontend_attach()
848 ret = anysee_wr_reg_mask(d, REG_IOD, (1 << 0), 0x01); in anysee_frontend_attach()
857 &d->i2c_adap); in anysee_frontend_attach()
867 &d->i2c_adap); in anysee_frontend_attach()
877 ret = anysee_wr_reg_mask(d, REG_IOD, (0 << 6), 0x40); in anysee_frontend_attach()
881 /* enable DVB-C demod on IOD[5] */ in anysee_frontend_attach()
882 ret = anysee_wr_reg_mask(d, REG_IOD, (1 << 5), 0x20); in anysee_frontend_attach()
889 &d->i2c_adap, 0x48); in anysee_frontend_attach()
899 /* disable DVB-C demod on IOD[5] */ in anysee_frontend_attach()
900 ret = anysee_wr_reg_mask(d, REG_IOD, (0 << 5), 0x20); in anysee_frontend_attach()
905 ret = anysee_wr_reg_mask(d, REG_IOD, (1 << 6), 0x40); in anysee_frontend_attach()
912 &d->i2c_adap); in anysee_frontend_attach()
926 /* enable DVB-S/S2 demod on IOE[5] */ in anysee_frontend_attach()
927 ret = anysee_wr_reg_mask(d, REG_IOE, (1 << 5), 0x20); in anysee_frontend_attach()
933 &anysee_stv0900_config, &d->i2c_adap, 0); in anysee_frontend_attach()
941 /* enable DVB-T/T2/C demod on IOE[5] */ in anysee_frontend_attach()
942 ret = anysee_wr_reg_mask(d, REG_IOE, (1 << 5), 0x20); in anysee_frontend_attach()
948 &anysee_cxd2820r_config, &d->i2c_adap, NULL); in anysee_frontend_attach()
958 dev_err(&d->udev->dev, in anysee_frontend_attach()
969 struct dvb_usb_device *d = adap_to_d(adap); in anysee_tuner_attach() local
972 dev_dbg(&d->udev->dev, "%s:\n", __func__); in anysee_tuner_attach()
988 &d->i2c_adap, DVB_PLL_THOMSON_DTT7579); in anysee_tuner_attach()
996 &d->i2c_adap, DVB_PLL_SAMSUNG_DTOS403IH102A); in anysee_tuner_attach()
1003 fe = dvb_attach(isl6423_attach, adap->fe[0], &d->i2c_adap, in anysee_tuner_attach()
1020 ret = anysee_add_i2c_dev(d, "tda18212", 0x60, in anysee_tuner_attach()
1038 (0xc0 >> 1), &d->i2c_adap, in anysee_tuner_attach()
1044 (0xc0 >> 1), &d->i2c_adap, in anysee_tuner_attach()
1058 ret = anysee_add_i2c_dev(d, "tda18212", 0x60, &tda18212_config); in anysee_tuner_attach()
1079 &anysee_stv6110_config, &d->i2c_adap); in anysee_tuner_attach()
1084 &d->i2c_adap, &anysee_isl6423_config); in anysee_tuner_attach()
1096 ret = anysee_add_i2c_dev(d, "tda18212", 0x60, &tda18212_config); in anysee_tuner_attach()
1115 static int anysee_rc_query(struct dvb_usb_device *d) in anysee_rc_query() argument
1129 ret = anysee_ctrl_msg(d, buf, sizeof(buf), ircode, sizeof(ircode)); in anysee_rc_query()
1134 dev_dbg(&d->udev->dev, "%s: key pressed %02x\n", __func__, in anysee_rc_query()
1136 rc_keydown(d->rc_dev, RC_PROTO_NEC, in anysee_rc_query()
1143 static int anysee_get_rc_config(struct dvb_usb_device *d, struct dvb_usb_rc *rc) in anysee_get_rc_config() argument
1158 struct dvb_usb_device *d = ci->data; in anysee_ci_read_attribute_mem() local
1163 ret = anysee_ctrl_msg(d, buf, sizeof(buf), &val, 1); in anysee_ci_read_attribute_mem()
1173 struct dvb_usb_device *d = ci->data; in anysee_ci_write_attribute_mem() local
1176 return anysee_ctrl_msg(d, buf, sizeof(buf), NULL, 0); in anysee_ci_write_attribute_mem()
1182 struct dvb_usb_device *d = ci->data; in anysee_ci_read_cam_control() local
1187 ret = anysee_ctrl_msg(d, buf, sizeof(buf), &val, 1); in anysee_ci_read_cam_control()
1197 struct dvb_usb_device *d = ci->data; in anysee_ci_write_cam_control() local
1200 return anysee_ctrl_msg(d, buf, sizeof(buf), NULL, 0); in anysee_ci_write_cam_control()
1205 struct dvb_usb_device *d = ci->data; in anysee_ci_slot_reset() local
1207 struct anysee_state *state = d_to_priv(d); in anysee_ci_slot_reset()
1211 ret = anysee_wr_reg_mask(d, REG_IOA, (0 << 7), 0x80); in anysee_ci_slot_reset()
1217 ret = anysee_wr_reg_mask(d, REG_IOA, (1 << 7), 0x80); in anysee_ci_slot_reset()
1226 struct dvb_usb_device *d = ci->data; in anysee_ci_slot_shutdown() local
1229 ret = anysee_wr_reg_mask(d, REG_IOA, (0 << 7), 0x80); in anysee_ci_slot_shutdown()
1235 ret = anysee_wr_reg_mask(d, REG_IOA, (1 << 7), 0x80); in anysee_ci_slot_shutdown()
1244 struct dvb_usb_device *d = ci->data; in anysee_ci_slot_ts_enable() local
1246 return anysee_wr_reg_mask(d, REG_IOD, (0 << 1), 0x02); in anysee_ci_slot_ts_enable()
1252 struct dvb_usb_device *d = ci->data; in anysee_ci_poll_slot_status() local
1253 struct anysee_state *state = d_to_priv(d); in anysee_ci_poll_slot_status()
1257 ret = anysee_rd_reg_mask(d, REG_IOC, &tmp, 0x40); in anysee_ci_poll_slot_status()
1270 static int anysee_ci_init(struct dvb_usb_device *d) in anysee_ci_init() argument
1272 struct anysee_state *state = d_to_priv(d); in anysee_ci_init()
1284 state->ci.data = d; in anysee_ci_init()
1286 ret = anysee_wr_reg_mask(d, REG_IOA, (1 << 7), 0x80); in anysee_ci_init()
1290 ret = anysee_wr_reg_mask(d, REG_IOD, (0 << 2)|(0 << 1)|(0 << 0), 0x07); in anysee_ci_init()
1294 ret = anysee_wr_reg_mask(d, REG_IOD, (1 << 2)|(1 << 1)|(1 << 0), 0x07); in anysee_ci_init()
1298 ret = dvb_ca_en50221_init(&d->adapter[0].dvb_adap, &state->ci, 0, 1); in anysee_ci_init()
1307 static void anysee_ci_release(struct dvb_usb_device *d) in anysee_ci_release() argument
1309 struct anysee_state *state = d_to_priv(d); in anysee_ci_release()
1318 static int anysee_init(struct dvb_usb_device *d) in anysee_init() argument
1320 struct anysee_state *state = d_to_priv(d); in anysee_init()
1327 ret = usb_set_interface(d->udev, 0, 0); in anysee_init()
1332 ret = anysee_led_ctrl(d, 0x01, 0x03); in anysee_init()
1337 ret = anysee_ir_ctrl(d, 1); in anysee_init()
1343 ret = anysee_ci_init(d); in anysee_init()
1351 static void anysee_exit(struct dvb_usb_device *d) in anysee_exit() argument
1353 struct anysee_state *state = d_to_priv(d); in anysee_exit()
1356 anysee_del_i2c_dev(d); in anysee_exit()
1358 return anysee_ci_release(d); in anysee_exit()