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()
452 struct lgdt330x_state* state = fe->demodulator_priv; in lgdt3302_read_status() local
458 i2c_read_demod_bytes(state, AGC_STATUS, buf, 1); in lgdt3302_read_status()
472 i2c_read_demod_bytes(state, TOP_CONTROL, buf, sizeof(buf)); in lgdt3302_read_status()
488 i2c_read_demod_bytes(state, CARRIER_LOCK, buf, 1); in lgdt3302_read_status()
490 switch (state->current_modulation) { in lgdt3302_read_status()
510 struct lgdt330x_state* state = fe->demodulator_priv; in lgdt3303_read_status() local
517 err = i2c_read_demod_bytes(state, 0x58, buf, 1); in lgdt3303_read_status()
529 i2c_read_demod_bytes(state, CARRIER_LOCK, buf, 1); in lgdt3303_read_status()
531 switch (state->current_modulation) { in lgdt3303_read_status()
539 i2c_read_demod_bytes(state, 0x8a, buf, 1); in lgdt3303_read_status()
552 i2c_read_demod_bytes(state, 0x38, buf, 1); in lgdt3303_read_status()
606 struct lgdt330x_state* state = (struct lgdt330x_state*) fe->demodulator_priv; in lgdt3302_read_snr() local
611 switch(state->current_modulation) { in lgdt3302_read_snr()
613 i2c_read_demod_bytes(state, LGDT3302_EQPH_ERR0, buf, 5); in lgdt3302_read_snr()
628 i2c_read_demod_bytes(state, CARRIER_MSEQAM1, buf, 2); in lgdt3302_read_snr()
630 c = state->current_modulation == QAM_64 ? 97939837 : 98026066; in lgdt3302_read_snr()
639 state->snr = calculate_snr(noise, c); in lgdt3302_read_snr()
640 *snr = (state->snr) >> 16; /* Convert from 8.24 fixed-point to 8.8 */ in lgdt3302_read_snr()
643 state->snr >> 24, (((state->snr>>8) & 0xffff) * 100) >> 16); in lgdt3302_read_snr()
650 struct lgdt330x_state* state = (struct lgdt330x_state*) fe->demodulator_priv; in lgdt3303_read_snr() local
655 switch(state->current_modulation) { in lgdt3303_read_snr()
657 i2c_read_demod_bytes(state, LGDT3303_EQPH_ERR0, buf, 5); in lgdt3303_read_snr()
672 i2c_read_demod_bytes(state, CARRIER_MSEQAM1, buf, 2); in lgdt3303_read_snr()
674 c = state->current_modulation == QAM_64 ? 97939837 : 98026066; in lgdt3303_read_snr()
683 state->snr = calculate_snr(noise, c); in lgdt3303_read_snr()
684 *snr = (state->snr) >> 16; /* Convert from 8.24 fixed-point to 8.8 */ in lgdt3303_read_snr()
687 state->snr >> 24, (((state->snr >> 8) & 0xffff) * 100) >> 16); in lgdt3303_read_snr()
697 struct lgdt330x_state* state = (struct lgdt330x_state*) fe->demodulator_priv; in lgdt330x_read_signal_strength() local
706 if (state->snr >= 8960 * 0x10000) in lgdt330x_read_signal_strength()
709 *strength = state->snr / 8960; in lgdt330x_read_signal_strength()
725 struct lgdt330x_state* state = (struct lgdt330x_state*) fe->demodulator_priv; in lgdt330x_release() local
726 kfree(state); in lgdt330x_release()
735 struct lgdt330x_state* state = NULL; in lgdt330x_attach() local
739 state = kzalloc(sizeof(struct lgdt330x_state), GFP_KERNEL); in lgdt330x_attach()
740 if (state == NULL) in lgdt330x_attach()
744 state->config = config; in lgdt330x_attach()
745 state->i2c = i2c; in lgdt330x_attach()
750 memcpy(&state->frontend.ops, &lgdt3302_ops, sizeof(struct dvb_frontend_ops)); in lgdt330x_attach()
753 memcpy(&state->frontend.ops, &lgdt3303_ops, sizeof(struct dvb_frontend_ops)); in lgdt330x_attach()
758 state->frontend.demodulator_priv = state; in lgdt330x_attach()
761 if (i2c_read_demod_bytes(state, 2, buf, 1)) in lgdt330x_attach()
764 state->current_frequency = -1; in lgdt330x_attach()
765 state->current_modulation = -1; in lgdt330x_attach()
767 return &state->frontend; in lgdt330x_attach()
770 kfree(state); in lgdt330x_attach()