Lines Matching refs:state
221 static int tda10048_writereg(struct tda10048_state *state, u8 reg, u8 data) in tda10048_writereg() argument
223 struct tda10048_config *config = &state->config; in tda10048_writereg()
232 ret = i2c_transfer(state->i2c, &msg, 1); in tda10048_writereg()
240 static u8 tda10048_readreg(struct tda10048_state *state, u8 reg) in tda10048_readreg() argument
242 struct tda10048_config *config = &state->config; in tda10048_readreg()
254 ret = i2c_transfer(state->i2c, msg, 2); in tda10048_readreg()
263 static int tda10048_writeregbulk(struct tda10048_state *state, u8 reg, in tda10048_writeregbulk() argument
266 struct tda10048_config *config = &state->config; in tda10048_writeregbulk()
290 ret = i2c_transfer(state->i2c, &msg, 1); in tda10048_writeregbulk()
306 struct tda10048_state *state = fe->demodulator_priv; in tda10048_set_phy2() local
333 tda10048_writereg(state, TDA10048_FREQ_PHY2_LSB, (u8)t); in tda10048_set_phy2()
334 tda10048_writereg(state, TDA10048_FREQ_PHY2_MSB, (u8)(t >> 8)); in tda10048_set_phy2()
342 struct tda10048_state *state = fe->demodulator_priv; in tda10048_set_wref() local
361 tda10048_writereg(state, TDA10048_TIME_WREF_LSB, (u8)t); in tda10048_set_wref()
362 tda10048_writereg(state, TDA10048_TIME_WREF_MID1, (u8)(t >> 8)); in tda10048_set_wref()
363 tda10048_writereg(state, TDA10048_TIME_WREF_MID2, (u8)(t >> 16)); in tda10048_set_wref()
364 tda10048_writereg(state, TDA10048_TIME_WREF_MSB, (u8)(t >> 24)); in tda10048_set_wref()
372 struct tda10048_state *state = fe->demodulator_priv; in tda10048_set_invwref() local
389 tda10048_writereg(state, TDA10048_TIME_INVWREF_LSB, (u8)t); in tda10048_set_invwref()
390 tda10048_writereg(state, TDA10048_TIME_INVWREF_MSB, (u8)(t >> 8)); in tda10048_set_invwref()
398 struct tda10048_state *state = fe->demodulator_priv; in tda10048_set_bandwidth() local
406 tda10048_set_wref(fe, state->sample_freq, bw); in tda10048_set_bandwidth()
407 tda10048_set_invwref(fe, state->sample_freq, bw); in tda10048_set_bandwidth()
414 state->bandwidth = bw; in tda10048_set_bandwidth()
421 struct tda10048_state *state = fe->demodulator_priv; in tda10048_set_if() local
422 struct tda10048_config *config = &state->config; in tda10048_set_if()
448 state->freq_if_hz = pll_tab[i].if_freq_khz * 1000; in tda10048_set_if()
449 state->xtal_hz = pll_tab[i].clk_freq_khz * 1000; in tda10048_set_if()
459 dprintk(1, "- freq_if_hz = %d\n", state->freq_if_hz); in tda10048_set_if()
460 dprintk(1, "- xtal_hz = %d\n", state->xtal_hz); in tda10048_set_if()
461 dprintk(1, "- pll_mfactor = %d\n", state->pll_mfactor); in tda10048_set_if()
462 dprintk(1, "- pll_nfactor = %d\n", state->pll_nfactor); in tda10048_set_if()
463 dprintk(1, "- pll_pfactor = %d\n", state->pll_pfactor); in tda10048_set_if()
466 state->sample_freq = state->xtal_hz * (state->pll_mfactor + 45); in tda10048_set_if()
467 state->sample_freq /= (state->pll_nfactor + 1); in tda10048_set_if()
468 state->sample_freq /= (state->pll_pfactor + 4); in tda10048_set_if()
469 dprintk(1, "- sample_freq = %d\n", state->sample_freq); in tda10048_set_if()
472 tda10048_set_phy2(fe, state->sample_freq, state->freq_if_hz); in tda10048_set_if()
479 struct tda10048_state *state = fe->demodulator_priv; in tda10048_firmware_upload() local
480 struct tda10048_config *config = &state->config; in tda10048_firmware_upload()
496 state->i2c->dev.parent); in tda10048_firmware_upload()
515 tda10048_writereg(state, TDA10048_CONF_TRISTATE1, in tda10048_firmware_upload()
516 tda10048_readreg(state, TDA10048_CONF_TRISTATE1) in tda10048_firmware_upload()
518 tda10048_writereg(state, TDA10048_CONF_TRISTATE1, in tda10048_firmware_upload()
519 tda10048_readreg(state, TDA10048_CONF_TRISTATE1) in tda10048_firmware_upload()
523 tda10048_writereg(state, TDA10048_CONF_C4_1, in tda10048_firmware_upload()
524 tda10048_readreg(state, TDA10048_CONF_C4_1) & 0xf9); in tda10048_firmware_upload()
527 tda10048_writereg(state, TDA10048_CONF_C4_1, in tda10048_firmware_upload()
528 tda10048_readreg(state, TDA10048_CONF_C4_1) | 0x08); in tda10048_firmware_upload()
531 tda10048_writereg(state, TDA10048_DSP_CODE_CPT, 0); in tda10048_firmware_upload()
541 tda10048_writeregbulk(state, TDA10048_DSP_CODE_IN, in tda10048_firmware_upload()
553 if (tda10048_readreg(state, TDA10048_SYNC_STATUS) in tda10048_firmware_upload()
565 state->fwloaded = 1; in tda10048_firmware_upload()
574 struct tda10048_state *state = fe->demodulator_priv; in tda10048_set_inversion() local
579 tda10048_writereg(state, TDA10048_CONF_C1_1, in tda10048_set_inversion()
580 tda10048_readreg(state, TDA10048_CONF_C1_1) | 0x20); in tda10048_set_inversion()
582 tda10048_writereg(state, TDA10048_CONF_C1_1, in tda10048_set_inversion()
583 tda10048_readreg(state, TDA10048_CONF_C1_1) & 0xdf); in tda10048_set_inversion()
589 static int tda10048_get_tps(struct tda10048_state *state, in tda10048_get_tps() argument
595 if (!(tda10048_readreg(state, TDA10048_AUTO) & 0x01)) in tda10048_get_tps()
598 val = tda10048_readreg(state, TDA10048_OUT_CONF2); in tda10048_get_tps()
642 val = tda10048_readreg(state, TDA10048_OUT_CONF3); in tda10048_get_tps()
661 val = tda10048_readreg(state, TDA10048_OUT_CONF1); in tda10048_get_tps()
690 struct tda10048_state *state = fe->demodulator_priv; in tda10048_i2c_gate_ctrl() local
691 struct tda10048_config *config = &state->config; in tda10048_i2c_gate_ctrl()
698 return tda10048_writereg(state, TDA10048_CONF_C4_1, in tda10048_i2c_gate_ctrl()
699 tda10048_readreg(state, TDA10048_CONF_C4_1) | 0x02); in tda10048_i2c_gate_ctrl()
701 return tda10048_writereg(state, TDA10048_CONF_C4_1, in tda10048_i2c_gate_ctrl()
702 tda10048_readreg(state, TDA10048_CONF_C4_1) & 0xfd); in tda10048_i2c_gate_ctrl()
707 struct tda10048_state *state = fe->demodulator_priv; in tda10048_output_mode() local
711 tda10048_writereg(state, TDA10048_CONF_TRISTATE1, 0x21); in tda10048_output_mode()
712 tda10048_writereg(state, TDA10048_CONF_TRISTATE2, 0x00); in tda10048_output_mode()
715 tda10048_writereg(state, TDA10048_IC_MODE, 0x80 | 0x20); in tda10048_output_mode()
716 tda10048_writereg(state, TDA10048_CONF_TS2, 0xc0); in tda10048_output_mode()
718 tda10048_writereg(state, TDA10048_IC_MODE, 0x00); in tda10048_output_mode()
719 tda10048_writereg(state, TDA10048_CONF_TS2, 0x01); in tda10048_output_mode()
730 struct tda10048_state *state = fe->demodulator_priv; in tda10048_set_frontend() local
735 if (p->bandwidth_hz != state->bandwidth) { in tda10048_set_frontend()
752 tda10048_writereg(state, TDA10048_AUTO, 0x57); in tda10048_set_frontend()
754 tda10048_writereg(state, TDA10048_CVBER_CTRL, 0x3B); in tda10048_set_frontend()
762 struct tda10048_state *state = fe->demodulator_priv; in tda10048_init() local
763 struct tda10048_config *config = &state->config; in tda10048_init()
769 init_tab[4].data = (u8)(state->pll_mfactor); in tda10048_init()
770 init_tab[5].data = (u8)(state->pll_nfactor) | 0x40; in tda10048_init()
774 tda10048_writereg(state, init_tab[i].reg, init_tab[i].data); in tda10048_init()
776 if (state->fwloaded == 0) in tda10048_init()
797 struct tda10048_state *state = fe->demodulator_priv; in tda10048_read_status() local
802 reg = tda10048_readreg(state, TDA10048_SYNC_STATUS); in tda10048_read_status()
823 struct tda10048_state *state = fe->demodulator_priv; in tda10048_read_ber() local
831 if (tda10048_readreg(state, TDA10048_SOFT_IT_C3) & 0x01) { in tda10048_read_ber()
832 cber_tmp = tda10048_readreg(state, TDA10048_CBER_MSB) << 8 | in tda10048_read_ber()
833 tda10048_readreg(state, TDA10048_CBER_LSB); in tda10048_read_ber()
834 cber_nmax = tda10048_readreg(state, TDA10048_CBER_NMAX_MSB) << 8 | in tda10048_read_ber()
835 tda10048_readreg(state, TDA10048_CBER_NMAX_LSB); in tda10048_read_ber()
841 tda10048_writereg(state, TDA10048_CVBER_CTRL, 0x39); in tda10048_read_ber()
852 struct tda10048_state *state = fe->demodulator_priv; in tda10048_read_signal_strength() local
859 v = tda10048_readreg(state, TDA10048_NP_OUT); in tda10048_read_signal_strength()
998 struct tda10048_state *state = fe->demodulator_priv; in tda10048_read_snr() local
1004 v = tda10048_readreg(state, TDA10048_NP_OUT); in tda10048_read_snr()
1018 struct tda10048_state *state = fe->demodulator_priv; in tda10048_read_ucblocks() local
1022 *ucblocks = tda10048_readreg(state, TDA10048_UNCOR_CPT_MSB) << 8 | in tda10048_read_ucblocks()
1023 tda10048_readreg(state, TDA10048_UNCOR_CPT_LSB); in tda10048_read_ucblocks()
1026 tda10048_writereg(state, TDA10048_UNCOR_CTRL, 0x80); in tda10048_read_ucblocks()
1034 struct tda10048_state *state = fe->demodulator_priv; in tda10048_get_frontend() local
1038 p->inversion = tda10048_readreg(state, TDA10048_CONF_C1_1) in tda10048_get_frontend()
1041 return tda10048_get_tps(state, p); in tda10048_get_frontend()
1053 struct tda10048_state *state = fe->demodulator_priv; in tda10048_release() local
1055 kfree(state); in tda10048_release()
1060 struct tda10048_state *state = fe->demodulator_priv; in tda10048_establish_defaults() local
1061 struct tda10048_config *config = &state->config; in tda10048_establish_defaults()
1102 struct tda10048_state *state = NULL; in tda10048_attach() local
1107 state = kzalloc(sizeof(struct tda10048_state), GFP_KERNEL); in tda10048_attach()
1108 if (state == NULL) in tda10048_attach()
1112 memcpy(&state->config, config, sizeof(*config)); in tda10048_attach()
1113 state->i2c = i2c; in tda10048_attach()
1114 state->fwloaded = config->no_firmware; in tda10048_attach()
1115 state->bandwidth = 8000000; in tda10048_attach()
1118 if (tda10048_readreg(state, TDA10048_IDENTITY) != 0x048) in tda10048_attach()
1122 memcpy(&state->frontend.ops, &tda10048_ops, in tda10048_attach()
1124 state->frontend.demodulator_priv = state; in tda10048_attach()
1128 state->pll_mfactor = config->pll_m; in tda10048_attach()
1129 state->pll_nfactor = config->pll_n; in tda10048_attach()
1130 state->pll_pfactor = config->pll_p; in tda10048_attach()
1132 state->pll_mfactor = 10; in tda10048_attach()
1133 state->pll_nfactor = 3; in tda10048_attach()
1134 state->pll_pfactor = 0; in tda10048_attach()
1138 tda10048_establish_defaults(&state->frontend); in tda10048_attach()
1141 if (tda10048_set_if(&state->frontend, 8000000) != 0) in tda10048_attach()
1145 if (tda10048_set_bandwidth(&state->frontend, 8000000) != 0) in tda10048_attach()
1149 tda10048_i2c_gate_ctrl(&state->frontend, 0); in tda10048_attach()
1151 return &state->frontend; in tda10048_attach()
1154 kfree(state); in tda10048_attach()