Lines Matching refs:d
31 static int af9015_ctrl_msg(struct dvb_usb_device *d, struct req_t *req) in af9015_ctrl_msg() argument
35 struct af9015_state *state = d_to_priv(d); in af9015_ctrl_msg()
39 mutex_lock(&d->usb_mutex); in af9015_ctrl_msg()
72 dev_err(&d->udev->dev, "%s: unknown command=%d\n", in af9015_ctrl_msg()
81 dev_err(&d->udev->dev, "%s: too much data; cmd=%d len=%d\n", in af9015_ctrl_msg()
102 ret = dvb_usbv2_generic_rw_locked(d, in af9015_ctrl_msg()
109 dev_err(&d->udev->dev, "%s: command failed=%d\n", in af9015_ctrl_msg()
119 mutex_unlock(&d->usb_mutex); in af9015_ctrl_msg()
124 static int af9015_write_regs(struct dvb_usb_device *d, u16 addr, u8 *val, in af9015_write_regs() argument
129 return af9015_ctrl_msg(d, &req); in af9015_write_regs()
132 static int af9015_read_regs(struct dvb_usb_device *d, u16 addr, u8 *val, u8 len) in af9015_read_regs() argument
136 return af9015_ctrl_msg(d, &req); in af9015_read_regs()
139 static int af9015_write_reg(struct dvb_usb_device *d, u16 addr, u8 val) in af9015_write_reg() argument
141 return af9015_write_regs(d, addr, &val, 1); in af9015_write_reg()
144 static int af9015_read_reg(struct dvb_usb_device *d, u16 addr, u8 *val) in af9015_read_reg() argument
146 return af9015_read_regs(d, addr, val, 1); in af9015_read_reg()
149 static int af9015_write_reg_i2c(struct dvb_usb_device *d, u8 addr, u16 reg, in af9015_write_reg_i2c() argument
152 struct af9015_state *state = d_to_priv(d); in af9015_write_reg_i2c()
159 return af9015_ctrl_msg(d, &req); in af9015_write_reg_i2c()
162 static int af9015_read_reg_i2c(struct dvb_usb_device *d, u8 addr, u16 reg, in af9015_read_reg_i2c() argument
165 struct af9015_state *state = d_to_priv(d); in af9015_read_reg_i2c()
172 return af9015_ctrl_msg(d, &req); in af9015_read_reg_i2c()
175 static int af9015_do_reg_bit(struct dvb_usb_device *d, u16 addr, u8 bit, u8 op) in af9015_do_reg_bit() argument
180 ret = af9015_read_reg(d, addr, &val); in af9015_do_reg_bit()
194 return af9015_write_reg(d, addr, val); in af9015_do_reg_bit()
197 static int af9015_set_reg_bit(struct dvb_usb_device *d, u16 addr, u8 bit) in af9015_set_reg_bit() argument
199 return af9015_do_reg_bit(d, addr, bit, 1); in af9015_set_reg_bit()
202 static int af9015_clear_reg_bit(struct dvb_usb_device *d, u16 addr, u8 bit) in af9015_clear_reg_bit() argument
204 return af9015_do_reg_bit(d, addr, bit, 0); in af9015_clear_reg_bit()
210 struct dvb_usb_device *d = i2c_get_adapdata(adap); in af9015_i2c_xfer() local
211 struct af9015_state *state = d_to_priv(d); in af9015_i2c_xfer()
239 if (mutex_lock_interruptible(&d->i2c_mutex) < 0) in af9015_i2c_xfer()
270 ret = af9015_ctrl_msg(d, &req); in af9015_i2c_xfer()
288 ret = af9015_ctrl_msg(d, &req); in af9015_i2c_xfer()
305 ret = af9015_ctrl_msg(d, &req); in af9015_i2c_xfer()
315 mutex_unlock(&d->i2c_mutex); in af9015_i2c_xfer()
330 static int af9015_identify_state(struct dvb_usb_device *d, const char **name) in af9015_identify_state() argument
336 ret = af9015_ctrl_msg(d, &req); in af9015_identify_state()
340 dev_dbg(&d->udev->dev, "%s: reply=%02x\n", __func__, reply); in af9015_identify_state()
350 static int af9015_download_firmware(struct dvb_usb_device *d, in af9015_download_firmware() argument
353 struct af9015_state *state = d_to_priv(d); in af9015_download_firmware()
357 dev_dbg(&d->udev->dev, "%s:\n", __func__); in af9015_download_firmware()
377 ret = af9015_ctrl_msg(d, &req); in af9015_download_firmware()
379 dev_err(&d->udev->dev, in af9015_download_firmware()
389 ret = af9015_ctrl_msg(d, &req); in af9015_download_firmware()
391 dev_err(&d->udev->dev, "%s: firmware boot failed=%d\n", in af9015_download_firmware()
403 static int af9015_eeprom_hash(struct dvb_usb_device *d) in af9015_eeprom_hash() argument
405 struct af9015_state *state = d_to_priv(d); in af9015_eeprom_hash()
414 ret = af9015_ctrl_msg(d, &req); in af9015_eeprom_hash()
426 dev_dbg(&d->udev->dev, "%s: %*ph\n", __func__, 16, buf + i); in af9015_eeprom_hash()
428 dev_dbg(&d->udev->dev, "%s: eeprom sum=%.8x\n", in af9015_eeprom_hash()
432 dev_err(&d->udev->dev, "%s: eeprom failed=%d\n", KBUILD_MODNAME, ret); in af9015_eeprom_hash()
436 static int af9015_read_config(struct dvb_usb_device *d) in af9015_read_config() argument
438 struct af9015_state *state = d_to_priv(d); in af9015_read_config()
443 dev_dbg(&d->udev->dev, "%s:\n", __func__); in af9015_read_config()
449 ret = af9015_ctrl_msg(d, &req); in af9015_read_config()
456 ret = af9015_eeprom_hash(d); in af9015_read_config()
461 dev_dbg(&d->udev->dev, "%s: IR mode=%d\n", __func__, val); in af9015_read_config()
465 ret = af9015_ctrl_msg(d, &req); in af9015_read_config()
470 dev_dbg(&d->udev->dev, "%s: TS mode=%d\n", __func__, state->dual_mode); in af9015_read_config()
473 if (d->udev->speed == USB_SPEED_FULL) in af9015_read_config()
479 ret = af9015_ctrl_msg(d, &req); in af9015_read_config()
491 ret = af9015_ctrl_msg(d, &req); in af9015_read_config()
508 dev_dbg(&d->udev->dev, "%s: [%d] xtal=%d set clock=%d\n", in af9015_read_config()
514 ret = af9015_ctrl_msg(d, &req); in af9015_read_config()
521 ret = af9015_ctrl_msg(d, &req); in af9015_read_config()
527 dev_dbg(&d->udev->dev, "%s: [%d] IF frequency=%d\n", __func__, in af9015_read_config()
532 ret = af9015_ctrl_msg(d, &req); in af9015_read_config()
537 ret = af9015_ctrl_msg(d, &req); in af9015_read_config()
541 dev_dbg(&d->udev->dev, "%s: [%d] MT2060 IF1=%d\n", __func__, i, in af9015_read_config()
546 ret = af9015_ctrl_msg(d, &req); in af9015_read_config()
571 dev_err(&d->udev->dev, "%s: tuner id=%d not " \ in af9015_read_config()
578 dev_dbg(&d->udev->dev, "%s: [%d] tuner id=%d\n", in af9015_read_config()
584 dev_err(&d->udev->dev, "%s: eeprom read failed=%d\n", in af9015_read_config()
590 if (le16_to_cpu(d->udev->descriptor.idVendor) == USB_VID_AVERMEDIA && in af9015_read_config()
591 ((le16_to_cpu(d->udev->descriptor.idProduct) == in af9015_read_config()
593 (le16_to_cpu(d->udev->descriptor.idProduct) == in af9015_read_config()
595 dev_dbg(&d->udev->dev, in af9015_read_config()
611 struct dvb_usb_device *d = fe_to_d(fe); in af9015_get_stream_config() local
612 dev_dbg(&d->udev->dev, "%s: adap=%d\n", __func__, fe_to_adap(fe)->id); in af9015_get_stream_config()
614 if (d->udev->speed == USB_SPEED_FULL) in af9015_get_stream_config()
620 static int af9015_get_adapter_count(struct dvb_usb_device *d) in af9015_get_adapter_count() argument
622 struct af9015_state *state = d_to_priv(d); in af9015_get_adapter_count()
723 static int af9015_copy_firmware(struct dvb_usb_device *d) in af9015_copy_firmware() argument
725 struct af9015_state *state = d_to_priv(d); in af9015_copy_firmware()
731 dev_dbg(&d->udev->dev, "%s:\n", __func__); in af9015_copy_firmware()
741 ret = af9015_read_reg_i2c(d, state->af9013_config[1].i2c_addr, in af9015_copy_firmware()
746 dev_dbg(&d->udev->dev, "%s: firmware status=%02x\n", in af9015_copy_firmware()
753 ret = af9015_write_reg(d, 0xd416, 0x04); /* 0x04 * 400ns */ in af9015_copy_firmware()
760 ret = af9015_ctrl_msg(d, &req); in af9015_copy_firmware()
762 dev_err(&d->udev->dev, "%s: firmware copy cmd failed=%d\n", in af9015_copy_firmware()
765 dev_dbg(&d->udev->dev, "%s: firmware copy done\n", __func__); in af9015_copy_firmware()
768 ret = af9015_write_reg(d, 0xd416, 0x14); /* 0x14 * 400ns */ in af9015_copy_firmware()
773 ret = af9015_write_reg_i2c(d, state->af9013_config[1].i2c_addr, in af9015_copy_firmware()
775 dev_dbg(&d->udev->dev, "%s: firmware boot cmd status=%d\n", in af9015_copy_firmware()
784 ret = af9015_read_reg_i2c(d, state->af9013_config[1].i2c_addr, in af9015_copy_firmware()
786 dev_dbg(&d->udev->dev, "%s: firmware status cmd status=%d " \ in af9015_copy_firmware()
796 dev_err(&d->udev->dev, "%s: firmware did not run\n", in af9015_copy_firmware()
800 dev_err(&d->udev->dev, "%s: firmware boot timeout\n", in af9015_copy_firmware()
939 struct dvb_usb_device *d = adap_to_d(adap); in af9015_tuner_attach() local
940 struct af9015_state *state = d_to_priv(d); in af9015_tuner_attach()
942 dev_dbg(&d->udev->dev, "%s:\n", __func__); in af9015_tuner_attach()
996 dev_err(&d->udev->dev, "%s: unknown tuner id=%d\n", in af9015_tuner_attach()
1019 struct dvb_usb_device *d = adap_to_d(adap); in af9015_pid_filter_ctrl() local
1021 dev_dbg(&d->udev->dev, "%s: onoff=%d\n", __func__, onoff); in af9015_pid_filter_ctrl()
1024 ret = af9015_set_reg_bit(d, 0xd503, 0); in af9015_pid_filter_ctrl()
1026 ret = af9015_clear_reg_bit(d, 0xd503, 0); in af9015_pid_filter_ctrl()
1034 struct dvb_usb_device *d = adap_to_d(adap); in af9015_pid_filter() local
1037 dev_dbg(&d->udev->dev, "%s: index=%d pid=%04x onoff=%d\n", in af9015_pid_filter()
1040 ret = af9015_write_reg(d, 0xd505, (pid & 0xff)); in af9015_pid_filter()
1044 ret = af9015_write_reg(d, 0xd506, (pid >> 8)); in af9015_pid_filter()
1049 ret = af9015_write_reg(d, 0xd504, idx); in af9015_pid_filter()
1055 static int af9015_init_endpoint(struct dvb_usb_device *d) in af9015_init_endpoint() argument
1057 struct af9015_state *state = d_to_priv(d); in af9015_init_endpoint()
1061 dev_dbg(&d->udev->dev, "%s: USB speed=%d\n", __func__, d->udev->speed); in af9015_init_endpoint()
1063 if (d->udev->speed == USB_SPEED_FULL) { in af9015_init_endpoint()
1071 ret = af9015_set_reg_bit(d, 0xd507, 2); /* assert EP4 reset */ in af9015_init_endpoint()
1074 ret = af9015_set_reg_bit(d, 0xd50b, 1); /* assert EP5 reset */ in af9015_init_endpoint()
1077 ret = af9015_clear_reg_bit(d, 0xdd11, 5); /* disable EP4 */ in af9015_init_endpoint()
1080 ret = af9015_clear_reg_bit(d, 0xdd11, 6); /* disable EP5 */ in af9015_init_endpoint()
1083 ret = af9015_set_reg_bit(d, 0xdd11, 5); /* enable EP4 */ in af9015_init_endpoint()
1087 ret = af9015_set_reg_bit(d, 0xdd11, 6); /* enable EP5 */ in af9015_init_endpoint()
1091 ret = af9015_clear_reg_bit(d, 0xdd13, 5); /* disable EP4 NAK */ in af9015_init_endpoint()
1095 ret = af9015_clear_reg_bit(d, 0xdd13, 6); /* disable EP5 NAK */ in af9015_init_endpoint()
1100 ret = af9015_write_reg(d, 0xdd88, frame_size & 0xff); in af9015_init_endpoint()
1103 ret = af9015_write_reg(d, 0xdd89, frame_size >> 8); in af9015_init_endpoint()
1107 ret = af9015_write_reg(d, 0xdd8a, frame_size & 0xff); in af9015_init_endpoint()
1110 ret = af9015_write_reg(d, 0xdd8b, frame_size >> 8); in af9015_init_endpoint()
1113 ret = af9015_write_reg(d, 0xdd0c, packet_size); /* EP4 packet size */ in af9015_init_endpoint()
1116 ret = af9015_write_reg(d, 0xdd0d, packet_size); /* EP5 packet size */ in af9015_init_endpoint()
1119 ret = af9015_clear_reg_bit(d, 0xd507, 2); /* negate EP4 reset */ in af9015_init_endpoint()
1123 ret = af9015_clear_reg_bit(d, 0xd50b, 1); /* negate EP5 reset */ in af9015_init_endpoint()
1130 ret = af9015_set_reg_bit(d, 0xd50b, 0); in af9015_init_endpoint()
1132 ret = af9015_clear_reg_bit(d, 0xd50b, 0); in af9015_init_endpoint()
1136 dev_err(&d->udev->dev, "%s: endpoint init failed=%d\n", in af9015_init_endpoint()
1142 static int af9015_init(struct dvb_usb_device *d) in af9015_init() argument
1144 struct af9015_state *state = d_to_priv(d); in af9015_init()
1146 dev_dbg(&d->udev->dev, "%s:\n", __func__); in af9015_init()
1151 ret = af9015_write_reg(d, 0x98e9, 0xff); in af9015_init()
1155 ret = af9015_init_endpoint(d); in af9015_init()
1195 static int af9015_rc_query(struct dvb_usb_device *d) in af9015_rc_query() argument
1197 struct af9015_state *state = d_to_priv(d); in af9015_rc_query()
1202 ret = af9015_read_regs(d, 0x98d9, buf, sizeof(buf)); in af9015_rc_query()
1208 dev_dbg(&d->udev->dev, "%s: invalid data\n", __func__); in af9015_rc_query()
1215 dev_dbg(&d->udev->dev, "%s: key repeated\n", __func__); in af9015_rc_query()
1216 rc_repeat(d->rc_dev); in af9015_rc_query()
1223 dev_dbg(&d->udev->dev, "%s: key pressed %*ph\n", in af9015_rc_query()
1227 ret = af9015_write_reg(d, 0x98e9, 0xff); in af9015_rc_query()
1251 rc_keydown(d->rc_dev, RC_TYPE_NEC, state->rc_keycode, 0); in af9015_rc_query()
1253 dev_dbg(&d->udev->dev, "%s: no key press\n", __func__); in af9015_rc_query()
1264 dev_warn(&d->udev->dev, "%s: rc query failed=%d\n", in af9015_rc_query()
1277 static int af9015_get_rc_config(struct dvb_usb_device *d, struct dvb_usb_rc *rc) in af9015_get_rc_config() argument
1279 struct af9015_state *state = d_to_priv(d); in af9015_get_rc_config()
1280 u16 vid = le16_to_cpu(d->udev->descriptor.idVendor); in af9015_get_rc_config()
1303 usb_string(d->udev, d->udev->descriptor.iManufacturer, in af9015_get_rc_config()