Lines Matching refs:priv

356 static void shadow_store(struct r820t_priv *priv, u8 reg, const u8 *val,  in shadow_store()  argument
373 memcpy(&priv->regs[r], val, len); in shadow_store()
376 static int r820t_write(struct r820t_priv *priv, u8 reg, const u8 *val, in r820t_write() argument
382 shadow_store(priv, reg, val, len); in r820t_write()
385 if (len > priv->cfg->max_i2c_msg_len - 1) in r820t_write()
386 size = priv->cfg->max_i2c_msg_len - 1; in r820t_write()
391 priv->buf[0] = reg; in r820t_write()
392 memcpy(&priv->buf[1], &val[pos], size); in r820t_write()
394 rc = tuner_i2c_xfer_send(&priv->i2c_props, priv->buf, size + 1); in r820t_write()
397 __func__, rc, reg, size, size, &priv->buf[1]); in r820t_write()
403 __func__, reg, size, size, &priv->buf[1]); in r820t_write()
413 static int r820t_write_reg(struct r820t_priv *priv, u8 reg, u8 val) in r820t_write_reg() argument
415 return r820t_write(priv, reg, &val, 1); in r820t_write_reg()
418 static int r820t_read_cache_reg(struct r820t_priv *priv, int reg) in r820t_read_cache_reg() argument
423 return priv->regs[reg]; in r820t_read_cache_reg()
428 static int r820t_write_reg_mask(struct r820t_priv *priv, u8 reg, u8 val, in r820t_write_reg_mask() argument
431 int rc = r820t_read_cache_reg(priv, reg); in r820t_write_reg_mask()
438 return r820t_write(priv, reg, &val, 1); in r820t_write_reg_mask()
441 static int r820t_read(struct r820t_priv *priv, u8 reg, u8 *val, int len) in r820t_read() argument
444 u8 *p = &priv->buf[1]; in r820t_read()
446 priv->buf[0] = reg; in r820t_read()
448 rc = tuner_i2c_xfer_send_recv(&priv->i2c_props, priv->buf, 1, p, len); in r820t_read()
471 static int r820t_set_mux(struct r820t_priv *priv, u32 freq) in r820t_set_mux() argument
488 rc = r820t_write_reg_mask(priv, 0x17, range->open_d, 0x08); in r820t_set_mux()
493 rc = r820t_write_reg_mask(priv, 0x1a, range->rf_mux_ploy, 0xc3); in r820t_set_mux()
498 rc = r820t_write_reg(priv, 0x1b, range->tf_c); in r820t_set_mux()
503 switch (priv->xtal_cap_sel) { in r820t_set_mux()
519 rc = r820t_write_reg_mask(priv, 0x10, val, 0x0b); in r820t_set_mux()
523 if (priv->imr_done) { in r820t_set_mux()
524 reg08 = priv->imr_data[range->imr_mem].gain_x; in r820t_set_mux()
525 reg09 = priv->imr_data[range->imr_mem].phase_y; in r820t_set_mux()
530 rc = r820t_write_reg_mask(priv, 0x08, reg08, 0x3f); in r820t_set_mux()
534 rc = r820t_write_reg_mask(priv, 0x09, reg09, 0x3f); in r820t_set_mux()
539 static int r820t_set_pll(struct r820t_priv *priv, enum v4l2_tuner_type type, in r820t_set_pll() argument
560 pll_ref = priv->cfg->xtal / 1000; in r820t_set_pll()
564 if ((priv->cfg->rafael_chip == CHIP_R620D) || in r820t_set_pll()
565 (priv->cfg->rafael_chip == CHIP_R828D) || in r820t_set_pll()
566 (priv->cfg->rafael_chip == CHIP_R828)) { in r820t_set_pll()
574 if (priv->cfg->xtal > 24000000) { in r820t_set_pll()
581 rc = r820t_write_reg_mask(priv, 0x10, refdiv2, 0x10); in r820t_set_pll()
586 rc = r820t_write_reg_mask(priv, 0x1a, 0x00, 0x0c); in r820t_set_pll()
591 rc = r820t_write_reg_mask(priv, 0x12, 0x80, 0xe0); in r820t_set_pll()
609 rc = r820t_read(priv, 0x00, data, sizeof(data)); in r820t_set_pll()
622 if (priv->cfg->rafael_chip != CHIP_R828D) { in r820t_set_pll()
629 rc = r820t_write_reg_mask(priv, 0x10, div_num << 5, 0xe0); in r820t_set_pll()
652 rc = r820t_write_reg(priv, 0x14, ni + (si << 6)); in r820t_set_pll()
662 rc = r820t_write_reg_mask(priv, 0x12, val, 0x08); in r820t_set_pll()
680 rc = r820t_write_reg(priv, 0x16, sdm >> 8); in r820t_set_pll()
683 rc = r820t_write_reg(priv, 0x15, sdm & 0xff); in r820t_set_pll()
691 rc = r820t_read(priv, 0x00, data, 3); in r820t_set_pll()
699 rc = r820t_write_reg_mask(priv, 0x12, 0x60, 0xe0); in r820t_set_pll()
706 priv->has_lock = false; in r820t_set_pll()
710 priv->has_lock = true; in r820t_set_pll()
714 rc = r820t_write_reg_mask(priv, 0x1a, 0x08, 0x08); in r820t_set_pll()
719 static int r820t_sysfreq_sel(struct r820t_priv *priv, u32 freq, in r820t_sysfreq_sel() argument
806 if (priv->cfg->use_diplexer && in r820t_sysfreq_sel()
807 ((priv->cfg->rafael_chip == CHIP_R820T) || in r820t_sysfreq_sel()
808 (priv->cfg->rafael_chip == CHIP_R828S) || in r820t_sysfreq_sel()
809 (priv->cfg->rafael_chip == CHIP_R820C))) { in r820t_sysfreq_sel()
818 if (priv->cfg->use_predetect) { in r820t_sysfreq_sel()
819 rc = r820t_write_reg_mask(priv, 0x06, pre_dect, 0x40); in r820t_sysfreq_sel()
824 rc = r820t_write_reg_mask(priv, 0x1d, lna_top, 0xc7); in r820t_sysfreq_sel()
827 rc = r820t_write_reg_mask(priv, 0x1c, mixer_top, 0xf8); in r820t_sysfreq_sel()
830 rc = r820t_write_reg(priv, 0x0d, lna_vth_l); in r820t_sysfreq_sel()
833 rc = r820t_write_reg(priv, 0x0e, mixer_vth_l); in r820t_sysfreq_sel()
838 rc = r820t_write_reg_mask(priv, 0x05, air_cable1_in, 0x60); in r820t_sysfreq_sel()
841 rc = r820t_write_reg_mask(priv, 0x06, cable2_in, 0x08); in r820t_sysfreq_sel()
845 rc = r820t_write_reg_mask(priv, 0x11, cp_cur, 0x38); in r820t_sysfreq_sel()
848 rc = r820t_write_reg_mask(priv, 0x17, div_buf_cur, 0x30); in r820t_sysfreq_sel()
851 rc = r820t_write_reg_mask(priv, 0x0a, filter_cur, 0x60); in r820t_sysfreq_sel()
867 rc = r820t_write_reg_mask(priv, 0x1d, 0, 0x38); in r820t_sysfreq_sel()
872 rc = r820t_write_reg_mask(priv, 0x1c, 0, 0x04); in r820t_sysfreq_sel()
877 rc = r820t_write_reg_mask(priv, 0x06, 0, 0x40); in r820t_sysfreq_sel()
882 rc = r820t_write_reg_mask(priv, 0x1a, 0x30, 0x30); in r820t_sysfreq_sel()
889 rc = r820t_write_reg_mask(priv, 0x1d, 0x18, 0x38); in r820t_sysfreq_sel()
898 rc = r820t_write_reg_mask(priv, 0x1c, mixer_top, 0x04); in r820t_sysfreq_sel()
903 rc = r820t_write_reg_mask(priv, 0x1e, lna_discharge, 0x1f); in r820t_sysfreq_sel()
908 rc = r820t_write_reg_mask(priv, 0x1a, 0x20, 0x30); in r820t_sysfreq_sel()
913 rc = r820t_write_reg_mask(priv, 0x06, 0, 0x40); in r820t_sysfreq_sel()
918 rc = r820t_write_reg_mask(priv, 0x1d, lna_top, 0x38); in r820t_sysfreq_sel()
927 rc = r820t_write_reg_mask(priv, 0x1c, mixer_top, 0x04); in r820t_sysfreq_sel()
932 rc = r820t_write_reg_mask(priv, 0x1e, lna_discharge, 0x1f); in r820t_sysfreq_sel()
937 rc = r820t_write_reg_mask(priv, 0x1a, 0x00, 0x30); in r820t_sysfreq_sel()
941 rc = r820t_write_reg_mask(priv, 0x10, 0x00, 0x04); in r820t_sysfreq_sel()
948 static int r820t_set_tv_standard(struct r820t_priv *priv, in r820t_set_tv_standard() argument
1061 memcpy(priv->regs, r820t_init_array, sizeof(r820t_init_array)); in r820t_set_tv_standard()
1064 if (priv->imr_done) in r820t_set_tv_standard()
1065 val = 1 | priv->xtal_cap_sel << 1; in r820t_set_tv_standard()
1068 rc = r820t_write_reg_mask(priv, 0x0c, val, 0x0f); in r820t_set_tv_standard()
1073 rc = r820t_write_reg_mask(priv, 0x13, VER_NUM, 0x3f); in r820t_set_tv_standard()
1079 rc = r820t_write_reg_mask(priv, 0x1d, 0x00, 0x38); in r820t_set_tv_standard()
1084 priv->int_freq = if_khz * 1000; in r820t_set_tv_standard()
1087 if (type != priv->type) in r820t_set_tv_standard()
1089 else if ((type == V4L2_TUNER_ANALOG_TV) && (std != priv->std)) in r820t_set_tv_standard()
1092 ((delsys != priv->delsys) || bw != priv->bw)) in r820t_set_tv_standard()
1101 rc = r820t_write_reg_mask(priv, 0x0b, hp_cor, 0x60); in r820t_set_tv_standard()
1106 rc = r820t_write_reg_mask(priv, 0x0f, 0x04, 0x04); in r820t_set_tv_standard()
1111 rc = r820t_write_reg_mask(priv, 0x10, 0x00, 0x03); in r820t_set_tv_standard()
1115 rc = r820t_set_pll(priv, type, filt_cal_lo * 1000); in r820t_set_tv_standard()
1116 if (rc < 0 || !priv->has_lock) in r820t_set_tv_standard()
1120 rc = r820t_write_reg_mask(priv, 0x0b, 0x10, 0x10); in r820t_set_tv_standard()
1127 rc = r820t_write_reg_mask(priv, 0x0b, 0x00, 0x10); in r820t_set_tv_standard()
1132 rc = r820t_write_reg_mask(priv, 0x0f, 0x00, 0x04); in r820t_set_tv_standard()
1137 rc = r820t_read(priv, 0x00, data, sizeof(data)); in r820t_set_tv_standard()
1141 priv->fil_cal_code = data[4] & 0x0f; in r820t_set_tv_standard()
1142 if (priv->fil_cal_code && priv->fil_cal_code != 0x0f) in r820t_set_tv_standard()
1146 if (priv->fil_cal_code == 0x0f) in r820t_set_tv_standard()
1147 priv->fil_cal_code = 0; in r820t_set_tv_standard()
1150 rc = r820t_write_reg_mask(priv, 0x0a, in r820t_set_tv_standard()
1151 filt_q | priv->fil_cal_code, 0x1f); in r820t_set_tv_standard()
1156 rc = r820t_write_reg_mask(priv, 0x0b, hp_cor, 0xef); in r820t_set_tv_standard()
1162 rc = r820t_write_reg_mask(priv, 0x07, img_r, 0x80); in r820t_set_tv_standard()
1167 rc = r820t_write_reg_mask(priv, 0x06, filt_gain, 0x30); in r820t_set_tv_standard()
1172 rc = r820t_write_reg_mask(priv, 0x1e, ext_enable, 0x60); in r820t_set_tv_standard()
1177 rc = r820t_write_reg_mask(priv, 0x05, loop_through, 0x80); in r820t_set_tv_standard()
1182 rc = r820t_write_reg_mask(priv, 0x1f, lt_att, 0x80); in r820t_set_tv_standard()
1187 rc = r820t_write_reg_mask(priv, 0x0f, flt_ext_widest, 0x80); in r820t_set_tv_standard()
1192 rc = r820t_write_reg_mask(priv, 0x19, polyfil_cur, 0x60); in r820t_set_tv_standard()
1197 priv->delsys = delsys; in r820t_set_tv_standard()
1198 priv->type = type; in r820t_set_tv_standard()
1199 priv->std = std; in r820t_set_tv_standard()
1200 priv->bw = bw; in r820t_set_tv_standard()
1205 static int r820t_read_gain(struct r820t_priv *priv) in r820t_read_gain() argument
1210 rc = r820t_read(priv, 0x00, data, sizeof(data)); in r820t_read_gain()
1219 static int r820t_set_gain_mode(struct r820t_priv *priv,
1231 rc = r820t_write_reg_mask(priv, 0x05, 0x10, 0x10);
1236 rc = r820t_write_reg_mask(priv, 0x07, 0, 0x10);
1240 rc = r820t_read(priv, 0x00, data, sizeof(data));
1245 rc = r820t_write_reg_mask(priv, 0x0c, 0x08, 0x9f);
1262 rc = r820t_write_reg_mask(priv, 0x05, lna_index, 0x0f);
1267 rc = r820t_write_reg_mask(priv, 0x07, mix_index, 0x0f);
1272 rc = r820t_write_reg_mask(priv, 0x05, 0, 0x10);
1277 rc = r820t_write_reg_mask(priv, 0x07, 0x10, 0x10);
1282 rc = r820t_write_reg_mask(priv, 0x0c, 0x0b, 0x9f);
1297 struct r820t_priv *priv = fe->tuner_priv; in generic_set_freq() local
1304 rc = r820t_set_tv_standard(priv, bw, type, std, delsys); in generic_set_freq()
1309 lo_freq = freq - priv->int_freq; in generic_set_freq()
1311 lo_freq = freq + priv->int_freq; in generic_set_freq()
1313 rc = r820t_set_mux(priv, lo_freq); in generic_set_freq()
1317 rc = r820t_set_pll(priv, type, lo_freq); in generic_set_freq()
1318 if (rc < 0 || !priv->has_lock) in generic_set_freq()
1321 rc = r820t_sysfreq_sel(priv, freq, type, std, delsys); in generic_set_freq()
1326 __func__, freq, r820t_read_gain(priv)); in generic_set_freq()
1339 static int r820t_standby(struct r820t_priv *priv) in r820t_standby() argument
1344 if (!priv->init_done) in r820t_standby()
1347 rc = r820t_write_reg(priv, 0x06, 0xb1); in r820t_standby()
1350 rc = r820t_write_reg(priv, 0x05, 0x03); in r820t_standby()
1353 rc = r820t_write_reg(priv, 0x07, 0x3a); in r820t_standby()
1356 rc = r820t_write_reg(priv, 0x08, 0x40); in r820t_standby()
1359 rc = r820t_write_reg(priv, 0x09, 0xc0); in r820t_standby()
1362 rc = r820t_write_reg(priv, 0x0a, 0x36); in r820t_standby()
1365 rc = r820t_write_reg(priv, 0x0c, 0x35); in r820t_standby()
1368 rc = r820t_write_reg(priv, 0x0f, 0x68); in r820t_standby()
1371 rc = r820t_write_reg(priv, 0x11, 0x03); in r820t_standby()
1374 rc = r820t_write_reg(priv, 0x17, 0xf4); in r820t_standby()
1377 rc = r820t_write_reg(priv, 0x19, 0x0c); in r820t_standby()
1380 priv->type = -1; in r820t_standby()
1389 static int r820t_xtal_check(struct r820t_priv *priv) in r820t_xtal_check() argument
1395 memcpy(priv->regs, r820t_init_array, sizeof(r820t_init_array)); in r820t_xtal_check()
1398 rc = r820t_write_reg_mask(priv, 0x10, 0x0b, 0x0b); in r820t_xtal_check()
1403 rc = r820t_write_reg_mask(priv, 0x1a, 0x00, 0x0c); in r820t_xtal_check()
1408 rc = r820t_write_reg_mask(priv, 0x13, 0x7f, 0x7f); in r820t_xtal_check()
1413 rc = r820t_write_reg_mask(priv, 0x13, 0x00, 0x40); in r820t_xtal_check()
1419 rc = r820t_write_reg_mask(priv, 0x10, in r820t_xtal_check()
1426 rc = r820t_read(priv, 0x00, data, sizeof(data)); in r820t_xtal_check()
1434 if (priv->cfg->xtal == 16000000 && (val > 29 || val < 23)) in r820t_xtal_check()
1447 static int r820t_imr_prepare(struct r820t_priv *priv) in r820t_imr_prepare() argument
1452 memcpy(priv->regs, r820t_init_array, sizeof(r820t_init_array)); in r820t_imr_prepare()
1455 rc = r820t_write_reg_mask(priv, 0x05, 0x20, 0x20); in r820t_imr_prepare()
1460 rc = r820t_write_reg_mask(priv, 0x07, 0, 0x10); in r820t_imr_prepare()
1465 rc = r820t_write_reg_mask(priv, 0x0a, 0x0f, 0x0f); in r820t_imr_prepare()
1470 rc = r820t_write_reg_mask(priv, 0x0b, 0x60, 0x6f); in r820t_imr_prepare()
1475 rc = r820t_write_reg_mask(priv, 0x0c, 0x0b, 0x9f); in r820t_imr_prepare()
1480 rc = r820t_write_reg_mask(priv, 0x0f, 0, 0x08); in r820t_imr_prepare()
1485 rc = r820t_write_reg_mask(priv, 0x18, 0x10, 0x10); in r820t_imr_prepare()
1490 rc = r820t_write_reg_mask(priv, 0x1c, 0x02, 0x02); in r820t_imr_prepare()
1495 rc = r820t_write_reg_mask(priv, 0x1e, 0x80, 0x80); in r820t_imr_prepare()
1500 rc = r820t_write_reg_mask(priv, 0x06, 0x20, 0x20); in r820t_imr_prepare()
1505 static int r820t_multi_read(struct r820t_priv *priv) in r820t_multi_read() argument
1514 rc = r820t_read(priv, 0x00, data, sizeof(data)); in r820t_multi_read()
1531 static int r820t_imr_cross(struct r820t_priv *priv, in r820t_imr_cross() argument
1540 reg08 = r820t_read_cache_reg(priv, 8) & 0xc0; in r820t_imr_cross()
1541 reg09 = r820t_read_cache_reg(priv, 9) & 0xc0; in r820t_imr_cross()
1570 rc = r820t_write_reg(priv, 0x08, cross[i].gain_x); in r820t_imr_cross()
1574 rc = r820t_write_reg(priv, 0x09, cross[i].phase_y); in r820t_imr_cross()
1578 rc = r820t_multi_read(priv); in r820t_imr_cross()
1614 static int r820t_compre_step(struct r820t_priv *priv, in r820t_compre_step() argument
1638 rc = r820t_write_reg(priv, 0x08, tmp.gain_x); in r820t_compre_step()
1642 rc = r820t_write_reg(priv, 0x09, tmp.phase_y); in r820t_compre_step()
1646 rc = r820t_multi_read(priv); in r820t_compre_step()
1664 static int r820t_iq_tree(struct r820t_priv *priv, in r820t_iq_tree() argument
1683 rc = r820t_write_reg(priv, fix_reg, fix_val); in r820t_iq_tree()
1687 rc = r820t_write_reg(priv, var_reg, var_val); in r820t_iq_tree()
1691 rc = r820t_multi_read(priv); in r820t_iq_tree()
1727 static int r820t_section(struct r820t_priv *priv, in r820t_section() argument
1741 rc = r820t_iq_tree(priv, compare_iq, compare_iq[0].gain_x, in r820t_section()
1754 rc = r820t_iq_tree(priv, compare_iq, compare_iq[0].gain_x, in r820t_section()
1770 rc = r820t_iq_tree(priv, compare_iq, compare_iq[0].gain_x, in r820t_section()
1786 static int r820t_vga_adjust(struct r820t_priv *priv) in r820t_vga_adjust() argument
1793 rc = r820t_write_reg_mask(priv, 0x0c, vga_count, 0x0f); in r820t_vga_adjust()
1799 rc = r820t_multi_read(priv); in r820t_vga_adjust()
1810 static int r820t_iq(struct r820t_priv *priv, struct r820t_sect_type *iq_pont) in r820t_iq() argument
1817 r820t_vga_adjust(priv); in r820t_iq()
1819 rc = r820t_imr_cross(priv, compare_iq, &x_direction); in r820t_iq()
1835 rc = r820t_compre_step(priv, compare_iq, dir_reg); in r820t_iq()
1840 rc = r820t_iq_tree(priv, compare_iq, compare_iq[0].gain_x, in r820t_iq()
1849 rc = r820t_compre_step(priv, compare_iq, other_reg); in r820t_iq()
1854 rc = r820t_iq_tree(priv, compare_iq, compare_iq[0].gain_x, in r820t_iq()
1862 rc = r820t_section(priv, compare_iq); in r820t_iq()
1867 rc = r820t_write_reg_mask(priv, 0x08, 0, 0x3f); in r820t_iq()
1871 rc = r820t_write_reg_mask(priv, 0x09, 0, 0x3f); in r820t_iq()
1876 static int r820t_f_imr(struct r820t_priv *priv, struct r820t_sect_type *iq_pont) in r820t_f_imr() argument
1880 r820t_vga_adjust(priv); in r820t_f_imr()
1886 rc = r820t_section(priv, iq_pont); in r820t_f_imr()
1893 static int r820t_imr(struct r820t_priv *priv, unsigned imr_mem, bool im_flag) in r820t_imr() argument
1901 if (priv->cfg->xtal > 24000000) in r820t_imr()
1902 ring_ref = priv->cfg->xtal / 2000; in r820t_imr()
1904 ring_ref = priv->cfg->xtal / 1000; in r820t_imr()
1914 reg18 = r820t_read_cache_reg(priv, 0x18); in r820t_imr()
1915 reg19 = r820t_read_cache_reg(priv, 0x19); in r820t_imr()
1916 reg1f = r820t_read_cache_reg(priv, 0x1f); in r820t_imr()
1970 rc = r820t_write_reg(priv, 0x18, reg18); in r820t_imr()
1975 rc = r820t_write_reg(priv, 0x19, reg19); in r820t_imr()
1980 rc = r820t_write_reg(priv, 0x1f, reg1f); in r820t_imr()
1985 rc = r820t_set_mux(priv, (ring_freq - 5300) * 1000); in r820t_imr()
1989 rc = r820t_set_pll(priv, V4L2_TUNER_DIGITAL_TV, in r820t_imr()
1991 if (!priv->has_lock) in r820t_imr()
1997 rc = r820t_iq(priv, &imr_point); in r820t_imr()
1999 imr_point.gain_x = priv->imr_data[3].gain_x; in r820t_imr()
2000 imr_point.phase_y = priv->imr_data[3].phase_y; in r820t_imr()
2001 imr_point.value = priv->imr_data[3].value; in r820t_imr()
2003 rc = r820t_f_imr(priv, &imr_point); in r820t_imr()
2011 priv->imr_data[0].gain_x = imr_point.gain_x; in r820t_imr()
2012 priv->imr_data[0].phase_y = imr_point.phase_y; in r820t_imr()
2013 priv->imr_data[0].value = imr_point.value; in r820t_imr()
2016 priv->imr_data[1].gain_x = imr_point.gain_x; in r820t_imr()
2017 priv->imr_data[1].phase_y = imr_point.phase_y; in r820t_imr()
2018 priv->imr_data[1].value = imr_point.value; in r820t_imr()
2021 priv->imr_data[2].gain_x = imr_point.gain_x; in r820t_imr()
2022 priv->imr_data[2].phase_y = imr_point.phase_y; in r820t_imr()
2023 priv->imr_data[2].value = imr_point.value; in r820t_imr()
2026 priv->imr_data[3].gain_x = imr_point.gain_x; in r820t_imr()
2027 priv->imr_data[3].phase_y = imr_point.phase_y; in r820t_imr()
2028 priv->imr_data[3].value = imr_point.value; in r820t_imr()
2031 priv->imr_data[4].gain_x = imr_point.gain_x; in r820t_imr()
2032 priv->imr_data[4].phase_y = imr_point.phase_y; in r820t_imr()
2033 priv->imr_data[4].value = imr_point.value; in r820t_imr()
2036 priv->imr_data[4].gain_x = imr_point.gain_x; in r820t_imr()
2037 priv->imr_data[4].phase_y = imr_point.phase_y; in r820t_imr()
2038 priv->imr_data[4].value = imr_point.value; in r820t_imr()
2045 static int r820t_imr_callibrate(struct r820t_priv *priv) in r820t_imr_callibrate() argument
2050 if (priv->init_done) in r820t_imr_callibrate()
2054 if ((priv->cfg->rafael_chip == CHIP_R820T) || in r820t_imr_callibrate()
2055 (priv->cfg->rafael_chip == CHIP_R828S) || in r820t_imr_callibrate()
2056 (priv->cfg->rafael_chip == CHIP_R820C)) { in r820t_imr_callibrate()
2057 priv->xtal_cap_sel = XTAL_HIGH_CAP_0P; in r820t_imr_callibrate()
2060 rc = r820t_write(priv, 0x05, in r820t_imr_callibrate()
2065 rc = r820t_xtal_check(priv); in r820t_imr_callibrate()
2071 priv->xtal_cap_sel = xtal_cap; in r820t_imr_callibrate()
2079 priv->init_done = true; in r820t_imr_callibrate()
2085 rc = r820t_write(priv, 0x05, in r820t_imr_callibrate()
2090 rc = r820t_imr_prepare(priv); in r820t_imr_callibrate()
2094 rc = r820t_imr(priv, 3, true); in r820t_imr_callibrate()
2097 rc = r820t_imr(priv, 1, false); in r820t_imr_callibrate()
2100 rc = r820t_imr(priv, 0, false); in r820t_imr_callibrate()
2103 rc = r820t_imr(priv, 2, false); in r820t_imr_callibrate()
2106 rc = r820t_imr(priv, 4, false); in r820t_imr_callibrate()
2110 priv->init_done = true; in r820t_imr_callibrate()
2111 priv->imr_done = true; in r820t_imr_callibrate()
2118 static int r820t_gpio(struct r820t_priv *priv, bool enable)
2120 return r820t_write_reg_mask(priv, 0x0f, enable ? 1 : 0, 0x01);
2132 struct r820t_priv *priv = fe->tuner_priv; in r820t_init() local
2137 mutex_lock(&priv->lock); in r820t_init()
2141 rc = r820t_imr_callibrate(priv); in r820t_init()
2146 rc = r820t_write(priv, 0x05, in r820t_init()
2152 mutex_unlock(&priv->lock); in r820t_init()
2161 struct r820t_priv *priv = fe->tuner_priv; in r820t_sleep() local
2166 mutex_lock(&priv->lock); in r820t_sleep()
2170 rc = r820t_standby(priv); in r820t_sleep()
2174 mutex_unlock(&priv->lock); in r820t_sleep()
2183 struct r820t_priv *priv = fe->tuner_priv; in r820t_set_analog_freq() local
2198 mutex_lock(&priv->lock); in r820t_set_analog_freq()
2207 mutex_unlock(&priv->lock); in r820t_set_analog_freq()
2214 struct r820t_priv *priv = fe->tuner_priv; in r820t_set_params() local
2222 mutex_lock(&priv->lock); in r820t_set_params()
2235 mutex_unlock(&priv->lock); in r820t_set_params()
2244 struct r820t_priv *priv = fe->tuner_priv; in r820t_signal() local
2247 mutex_lock(&priv->lock); in r820t_signal()
2251 if (priv->has_lock) { in r820t_signal()
2252 rc = r820t_read_gain(priv); in r820t_signal()
2267 mutex_unlock(&priv->lock); in r820t_signal()
2271 priv->has_lock ? "PLL locked" : "no signal", in r820t_signal()
2279 struct r820t_priv *priv = fe->tuner_priv; in r820t_get_if_frequency() local
2283 *frequency = priv->int_freq; in r820t_get_if_frequency()
2290 struct r820t_priv *priv = fe->tuner_priv; in r820t_release() local
2296 if (priv) in r820t_release()
2297 hybrid_tuner_release_state(priv); in r820t_release()
2325 struct r820t_priv *priv; in r820t_attach() local
2332 instance = hybrid_tuner_request_state(struct r820t_priv, priv, in r820t_attach()
2342 priv->cfg = cfg; in r820t_attach()
2344 mutex_init(&priv->lock); in r820t_attach()
2346 fe->tuner_priv = priv; in r820t_attach()
2350 fe->tuner_priv = priv; in r820t_attach()
2358 rc = r820t_read(priv, 0x00, data, sizeof(data)); in r820t_attach()