Lines Matching refs:state

77 static int i2c_write_demod_bytes (struct lgdt330x_state* state,  in i2c_write_demod_bytes()  argument
82 { .addr = state->config->demod_address, in i2c_write_demod_bytes()
90 if ((err = i2c_transfer(state->i2c, &msg, 1)) != 1) { in i2c_write_demod_bytes()
107 static int i2c_read_demod_bytes(struct lgdt330x_state *state, in i2c_read_demod_bytes() argument
112 { .addr = state->config->demod_address, in i2c_read_demod_bytes()
114 { .addr = state->config->demod_address, in i2c_read_demod_bytes()
118 ret = i2c_transfer(state->i2c, msg, 2); in i2c_read_demod_bytes()
120 … "lgdt330x: %s: addr 0x%02x select 0x%02x error (ret == %i)\n", __func__, state->config->demod_add… in i2c_read_demod_bytes()
130 static int lgdt3302_SwReset(struct lgdt330x_state* state) in lgdt3302_SwReset() argument
139 ret = i2c_write_demod_bytes(state, in lgdt3302_SwReset()
145 ret = i2c_write_demod_bytes(state, in lgdt3302_SwReset()
151 static int lgdt3303_SwReset(struct lgdt330x_state* state) in lgdt3303_SwReset() argument
159 ret = i2c_write_demod_bytes(state, in lgdt3303_SwReset()
165 ret = i2c_write_demod_bytes(state, in lgdt3303_SwReset()
171 static int lgdt330x_SwReset(struct lgdt330x_state* state) in lgdt330x_SwReset() argument
173 switch (state->config->demod_chip) { in lgdt330x_SwReset()
175 return lgdt3302_SwReset(state); in lgdt330x_SwReset()
177 return lgdt3303_SwReset(state); in lgdt330x_SwReset()
241 struct lgdt330x_state* state = fe->demodulator_priv; in lgdt330x_init() local
245 switch (state->config->demod_chip) { in lgdt330x_init()
248 err = i2c_write_demod_bytes(state, lgdt3302_init_data, in lgdt330x_init()
253 switch (state->config->clock_polarity_flip) { in lgdt330x_init()
255 err = i2c_write_demod_bytes(state, in lgdt330x_init()
260 err = i2c_write_demod_bytes(state, in lgdt330x_init()
266 err = i2c_write_demod_bytes(state, lgdt3303_init_data, in lgdt330x_init()
278 return lgdt330x_SwReset(state); in lgdt330x_init()
289 struct lgdt330x_state* state = fe->demodulator_priv; in lgdt330x_read_ucblocks() local
295 switch (state->config->demod_chip) { in lgdt330x_read_ucblocks()
297 err = i2c_read_demod_bytes(state, LGDT3302_PACKET_ERR_COUNTER1, in lgdt330x_read_ucblocks()
301 err = i2c_read_demod_bytes(state, LGDT3303_PACKET_ERR_COUNTER1, in lgdt330x_read_ucblocks()
348 struct lgdt330x_state* state = fe->demodulator_priv; in lgdt330x_set_parameters() local
354 if (state->current_modulation != p->modulation) { in lgdt330x_set_parameters()
363 if (state->config->pll_rf_set) in lgdt330x_set_parameters()
364 state->config->pll_rf_set(fe, 1); in lgdt330x_set_parameters()
366 if (state->config->demod_chip == LGDT3303) { in lgdt330x_set_parameters()
367 err = i2c_write_demod_bytes(state, lgdt3303_8vsb_44_data, in lgdt330x_set_parameters()
379 if (state->config->pll_rf_set) in lgdt330x_set_parameters()
380 state->config->pll_rf_set(fe, 0); in lgdt330x_set_parameters()
382 if (state->config->demod_chip == LGDT3303) { in lgdt330x_set_parameters()
383 err = i2c_write_demod_bytes(state, lgdt3303_qam_data, in lgdt330x_set_parameters()
395 if (state->config->pll_rf_set) in lgdt330x_set_parameters()
396 state->config->pll_rf_set(fe, 0); in lgdt330x_set_parameters()
398 if (state->config->demod_chip == LGDT3303) { in lgdt330x_set_parameters()
399 err = i2c_write_demod_bytes(state, lgdt3303_qam_data, in lgdt330x_set_parameters()
417 top_ctrl_cfg[1] |= state->config->serial_mpeg; in lgdt330x_set_parameters()
420 i2c_write_demod_bytes(state, top_ctrl_cfg, in lgdt330x_set_parameters()
422 if (state->config->set_ts_params) in lgdt330x_set_parameters()
423 state->config->set_ts_params(fe, 0); in lgdt330x_set_parameters()
424 state->current_modulation = p->modulation; in lgdt330x_set_parameters()
436 state->current_frequency = p->frequency; in lgdt330x_set_parameters()
438 lgdt330x_SwReset(state); in lgdt330x_set_parameters()
445 struct lgdt330x_state *state = fe->demodulator_priv; in lgdt330x_get_frontend() local
446 p->frequency = state->current_frequency; in lgdt330x_get_frontend()
453 struct lgdt330x_state* state = fe->demodulator_priv; in lgdt3302_read_status() local
459 i2c_read_demod_bytes(state, AGC_STATUS, buf, 1); in lgdt3302_read_status()
473 i2c_read_demod_bytes(state, TOP_CONTROL, buf, sizeof(buf)); in lgdt3302_read_status()
489 i2c_read_demod_bytes(state, CARRIER_LOCK, buf, 1); in lgdt3302_read_status()
491 switch (state->current_modulation) { in lgdt3302_read_status()
512 struct lgdt330x_state* state = fe->demodulator_priv; in lgdt3303_read_status() local
519 err = i2c_read_demod_bytes(state, 0x58, buf, 1); in lgdt3303_read_status()
531 i2c_read_demod_bytes(state, CARRIER_LOCK, buf, 1); in lgdt3303_read_status()
533 switch (state->current_modulation) { in lgdt3303_read_status()
541 i2c_read_demod_bytes(state, 0x8a, buf, 1); in lgdt3303_read_status()
554 i2c_read_demod_bytes(state, 0x38, buf, 1); in lgdt3303_read_status()
608 struct lgdt330x_state* state = (struct lgdt330x_state*) fe->demodulator_priv; in lgdt3302_read_snr() local
613 switch(state->current_modulation) { in lgdt3302_read_snr()
615 i2c_read_demod_bytes(state, LGDT3302_EQPH_ERR0, buf, 5); in lgdt3302_read_snr()
630 i2c_read_demod_bytes(state, CARRIER_MSEQAM1, buf, 2); in lgdt3302_read_snr()
632 c = state->current_modulation == QAM_64 ? 97939837 : 98026066; in lgdt3302_read_snr()
641 state->snr = calculate_snr(noise, c); in lgdt3302_read_snr()
642 *snr = (state->snr) >> 16; /* Convert from 8.24 fixed-point to 8.8 */ in lgdt3302_read_snr()
645 state->snr >> 24, (((state->snr>>8) & 0xffff) * 100) >> 16); in lgdt3302_read_snr()
652 struct lgdt330x_state* state = (struct lgdt330x_state*) fe->demodulator_priv; in lgdt3303_read_snr() local
657 switch(state->current_modulation) { in lgdt3303_read_snr()
659 i2c_read_demod_bytes(state, LGDT3303_EQPH_ERR0, buf, 5); in lgdt3303_read_snr()
674 i2c_read_demod_bytes(state, CARRIER_MSEQAM1, buf, 2); in lgdt3303_read_snr()
676 c = state->current_modulation == QAM_64 ? 97939837 : 98026066; in lgdt3303_read_snr()
685 state->snr = calculate_snr(noise, c); in lgdt3303_read_snr()
686 *snr = (state->snr) >> 16; /* Convert from 8.24 fixed-point to 8.8 */ in lgdt3303_read_snr()
689 state->snr >> 24, (((state->snr >> 8) & 0xffff) * 100) >> 16); in lgdt3303_read_snr()
699 struct lgdt330x_state* state = (struct lgdt330x_state*) fe->demodulator_priv; in lgdt330x_read_signal_strength() local
708 if (state->snr >= 8960 * 0x10000) in lgdt330x_read_signal_strength()
711 *strength = state->snr / 8960; in lgdt330x_read_signal_strength()
727 struct lgdt330x_state* state = (struct lgdt330x_state*) fe->demodulator_priv; in lgdt330x_release() local
728 kfree(state); in lgdt330x_release()
737 struct lgdt330x_state* state = NULL; in lgdt330x_attach() local
741 state = kzalloc(sizeof(struct lgdt330x_state), GFP_KERNEL); in lgdt330x_attach()
742 if (state == NULL) in lgdt330x_attach()
746 state->config = config; in lgdt330x_attach()
747 state->i2c = i2c; in lgdt330x_attach()
752 memcpy(&state->frontend.ops, &lgdt3302_ops, sizeof(struct dvb_frontend_ops)); in lgdt330x_attach()
755 memcpy(&state->frontend.ops, &lgdt3303_ops, sizeof(struct dvb_frontend_ops)); in lgdt330x_attach()
760 state->frontend.demodulator_priv = state; in lgdt330x_attach()
763 if (i2c_read_demod_bytes(state, 2, buf, 1)) in lgdt330x_attach()
766 state->current_frequency = -1; in lgdt330x_attach()
767 state->current_modulation = -1; in lgdt330x_attach()
769 return &state->frontend; in lgdt330x_attach()
772 kfree(state); in lgdt330x_attach()