Lines Matching refs:state

63 static int m88rs2000_writereg(struct m88rs2000_state *state,  in m88rs2000_writereg()  argument
69 .addr = state->config->demod_addr, in m88rs2000_writereg()
75 ret = i2c_transfer(state->i2c, &msg, 1); in m88rs2000_writereg()
84 static u8 m88rs2000_readreg(struct m88rs2000_state *state, u8 reg) in m88rs2000_readreg() argument
92 .addr = state->config->demod_addr, in m88rs2000_readreg()
97 .addr = state->config->demod_addr, in m88rs2000_readreg()
104 ret = i2c_transfer(state->i2c, msg, 2); in m88rs2000_readreg()
115 struct m88rs2000_state *state = fe->demodulator_priv; in m88rs2000_get_mclk() local
119 reg = m88rs2000_readreg(state, 0x86); in m88rs2000_get_mclk()
133 struct m88rs2000_state *state = fe->demodulator_priv; in m88rs2000_set_carrieroffset() local
148 ret = m88rs2000_writereg(state, 0x9c, (u8)(tmp >> 4)); in m88rs2000_set_carrieroffset()
150 reg = m88rs2000_readreg(state, 0x9d); in m88rs2000_set_carrieroffset()
154 ret |= m88rs2000_writereg(state, 0x9d, reg); in m88rs2000_set_carrieroffset()
161 struct m88rs2000_state *state = fe->demodulator_priv; in m88rs2000_set_symbolrate() local
183 ret = m88rs2000_writereg(state, 0x93, b[2]); in m88rs2000_set_symbolrate()
184 ret |= m88rs2000_writereg(state, 0x94, b[1]); in m88rs2000_set_symbolrate()
185 ret |= m88rs2000_writereg(state, 0x95, b[0]); in m88rs2000_set_symbolrate()
188 ret |= m88rs2000_writereg(state, 0xa0, 0x20); in m88rs2000_set_symbolrate()
190 ret |= m88rs2000_writereg(state, 0xa0, 0x60); in m88rs2000_set_symbolrate()
192 ret |= m88rs2000_writereg(state, 0xa1, 0xe0); in m88rs2000_set_symbolrate()
195 ret |= m88rs2000_writereg(state, 0xa3, 0x20); in m88rs2000_set_symbolrate()
197 ret |= m88rs2000_writereg(state, 0xa3, 0x98); in m88rs2000_set_symbolrate()
199 ret |= m88rs2000_writereg(state, 0xa3, 0x90); in m88rs2000_set_symbolrate()
208 struct m88rs2000_state *state = fe->demodulator_priv; in m88rs2000_send_diseqc_msg() local
213 m88rs2000_writereg(state, 0x9a, 0x30); in m88rs2000_send_diseqc_msg()
214 reg = m88rs2000_readreg(state, 0xb2); in m88rs2000_send_diseqc_msg()
216 m88rs2000_writereg(state, 0xb2, reg); in m88rs2000_send_diseqc_msg()
218 m88rs2000_writereg(state, 0xb3 + i, m->msg[i]); in m88rs2000_send_diseqc_msg()
220 reg = m88rs2000_readreg(state, 0xb1); in m88rs2000_send_diseqc_msg()
224 m88rs2000_writereg(state, 0xb1, reg); in m88rs2000_send_diseqc_msg()
227 if ((m88rs2000_readreg(state, 0xb1) & 0x40) == 0x0) in m88rs2000_send_diseqc_msg()
232 reg = m88rs2000_readreg(state, 0xb1); in m88rs2000_send_diseqc_msg()
236 m88rs2000_writereg(state, 0xb1, reg); in m88rs2000_send_diseqc_msg()
239 reg = m88rs2000_readreg(state, 0xb2); in m88rs2000_send_diseqc_msg()
242 m88rs2000_writereg(state, 0xb2, reg); in m88rs2000_send_diseqc_msg()
243 m88rs2000_writereg(state, 0x9a, 0xb0); in m88rs2000_send_diseqc_msg()
252 struct m88rs2000_state *state = fe->demodulator_priv; in m88rs2000_send_diseqc_burst() local
255 m88rs2000_writereg(state, 0x9a, 0x30); in m88rs2000_send_diseqc_burst()
257 reg0 = m88rs2000_readreg(state, 0xb1); in m88rs2000_send_diseqc_burst()
258 reg1 = m88rs2000_readreg(state, 0xb2); in m88rs2000_send_diseqc_burst()
260 m88rs2000_writereg(state, 0xb2, reg1); in m88rs2000_send_diseqc_burst()
261 m88rs2000_writereg(state, 0xb1, reg0); in m88rs2000_send_diseqc_burst()
262 m88rs2000_writereg(state, 0x9a, 0xb0); in m88rs2000_send_diseqc_burst()
269 struct m88rs2000_state *state = fe->demodulator_priv; in m88rs2000_set_tone() local
271 m88rs2000_writereg(state, 0x9a, 0x30); in m88rs2000_set_tone()
272 reg0 = m88rs2000_readreg(state, 0xb1); in m88rs2000_set_tone()
273 reg1 = m88rs2000_readreg(state, 0xb2); in m88rs2000_set_tone()
288 m88rs2000_writereg(state, 0xb2, reg1); in m88rs2000_set_tone()
289 m88rs2000_writereg(state, 0xb1, reg0); in m88rs2000_set_tone()
290 m88rs2000_writereg(state, 0x9a, 0xb0); in m88rs2000_set_tone()
383 static int m88rs2000_tab_set(struct m88rs2000_state *state, in m88rs2000_tab_set() argument
394 ret = m88rs2000_writereg(state, tab[i].reg, in m88rs2000_tab_set()
417 struct m88rs2000_state *state = fe->demodulator_priv; in m88rs2000_set_voltage() local
420 data = m88rs2000_readreg(state, 0xb2); in m88rs2000_set_voltage()
435 m88rs2000_writereg(state, 0xb2, data); in m88rs2000_set_voltage()
442 struct m88rs2000_state *state = fe->demodulator_priv; in m88rs2000_init() local
447 if (state->config->inittab) in m88rs2000_init()
448 ret = m88rs2000_tab_set(state, in m88rs2000_init()
449 (struct inittab *)state->config->inittab); in m88rs2000_init()
451 ret = m88rs2000_tab_set(state, m88rs2000_setup); in m88rs2000_init()
458 struct m88rs2000_state *state = fe->demodulator_priv; in m88rs2000_sleep() local
461 ret = m88rs2000_tab_set(state, m88rs2000_shutdown); in m88rs2000_sleep()
467 struct m88rs2000_state *state = fe->demodulator_priv; in m88rs2000_read_status() local
468 u8 reg = m88rs2000_readreg(state, 0x8c); in m88rs2000_read_status()
475 if (state->config->set_ts_params) in m88rs2000_read_status()
476 state->config->set_ts_params(fe, CALL_IS_READ); in m88rs2000_read_status()
483 struct m88rs2000_state *state = fe->demodulator_priv; in m88rs2000_read_ber() local
486 m88rs2000_writereg(state, 0x9a, 0x30); in m88rs2000_read_ber()
487 tmp0 = m88rs2000_readreg(state, 0xd8); in m88rs2000_read_ber()
489 m88rs2000_writereg(state, 0x9a, 0xb0); in m88rs2000_read_ber()
494 *ber = (m88rs2000_readreg(state, 0xd7) << 8) | in m88rs2000_read_ber()
495 m88rs2000_readreg(state, 0xd6); in m88rs2000_read_ber()
497 tmp1 = m88rs2000_readreg(state, 0xd9); in m88rs2000_read_ber()
498 m88rs2000_writereg(state, 0xd9, (tmp1 & ~7) | 4); in m88rs2000_read_ber()
500 m88rs2000_writereg(state, 0xd8, (tmp0 & ~8) | 0x30); in m88rs2000_read_ber()
501 m88rs2000_writereg(state, 0xd8, (tmp0 & ~8) | 0x30); in m88rs2000_read_ber()
502 m88rs2000_writereg(state, 0x9a, 0xb0); in m88rs2000_read_ber()
518 struct m88rs2000_state *state = fe->demodulator_priv; in m88rs2000_read_snr() local
520 *snr = 512 * m88rs2000_readreg(state, 0x65); in m88rs2000_read_snr()
527 struct m88rs2000_state *state = fe->demodulator_priv; in m88rs2000_read_ucblocks() local
530 *ucblocks = (m88rs2000_readreg(state, 0xd5) << 8) | in m88rs2000_read_ucblocks()
531 m88rs2000_readreg(state, 0xd4); in m88rs2000_read_ucblocks()
532 tmp = m88rs2000_readreg(state, 0xd8); in m88rs2000_read_ucblocks()
533 m88rs2000_writereg(state, 0xd8, tmp & ~0x20); in m88rs2000_read_ucblocks()
535 m88rs2000_writereg(state, 0xd8, tmp | 0x20); in m88rs2000_read_ucblocks()
536 m88rs2000_writereg(state, 0xd8, tmp | 0x20); in m88rs2000_read_ucblocks()
541 static int m88rs2000_set_fec(struct m88rs2000_state *state, in m88rs2000_set_fec() argument
568 reg = m88rs2000_readreg(state, 0x70); in m88rs2000_set_fec()
570 ret = m88rs2000_writereg(state, 0x70, reg | fec_set); in m88rs2000_set_fec()
572 ret |= m88rs2000_writereg(state, 0x76, 0x8); in m88rs2000_set_fec()
577 static fe_code_rate_t m88rs2000_get_fec(struct m88rs2000_state *state) in m88rs2000_get_fec() argument
580 m88rs2000_writereg(state, 0x9a, 0x30); in m88rs2000_get_fec()
581 reg = m88rs2000_readreg(state, 0x76); in m88rs2000_get_fec()
582 m88rs2000_writereg(state, 0x9a, 0xb0); in m88rs2000_get_fec()
607 struct m88rs2000_state *state = fe->demodulator_priv; in m88rs2000_set_frontend() local
615 state->no_lock_count = 0; in m88rs2000_set_frontend()
642 ret = m88rs2000_writereg(state, 0x86, 0xc2); in m88rs2000_set_frontend()
644 ret = m88rs2000_writereg(state, 0x86, 0xc6); in m88rs2000_set_frontend()
652 ret = m88rs2000_writereg(state, 0xf1, 0xa4); in m88rs2000_set_frontend()
654 ret = m88rs2000_writereg(state, 0xf1, 0xbf); in m88rs2000_set_frontend()
656 ret |= m88rs2000_tab_set(state, fe_reset); in m88rs2000_set_frontend()
661 ret = m88rs2000_set_fec(state, c->fec_inner); in m88rs2000_set_frontend()
662 ret |= m88rs2000_writereg(state, 0x85, 0x1); in m88rs2000_set_frontend()
663 ret |= m88rs2000_writereg(state, 0x8a, 0xbf); in m88rs2000_set_frontend()
664 ret |= m88rs2000_writereg(state, 0x8d, 0x1e); in m88rs2000_set_frontend()
665 ret |= m88rs2000_writereg(state, 0x90, 0xf1); in m88rs2000_set_frontend()
666 ret |= m88rs2000_writereg(state, 0x91, 0x08); in m88rs2000_set_frontend()
677 ret = m88rs2000_tab_set(state, fe_trigger); in m88rs2000_set_frontend()
682 reg = m88rs2000_readreg(state, 0x8c); in m88rs2000_set_frontend()
687 state->no_lock_count++; in m88rs2000_set_frontend()
688 if (state->no_lock_count == 15) { in m88rs2000_set_frontend()
689 reg = m88rs2000_readreg(state, 0x70); in m88rs2000_set_frontend()
691 m88rs2000_writereg(state, 0x70, reg); in m88rs2000_set_frontend()
692 state->no_lock_count = 0; in m88rs2000_set_frontend()
698 state->fec_inner = m88rs2000_get_fec(state); in m88rs2000_set_frontend()
700 reg = m88rs2000_readreg(state, 0x65); in m88rs2000_set_frontend()
703 state->tuner_frequency = c->frequency; in m88rs2000_set_frontend()
704 state->symbol_rate = c->symbol_rate; in m88rs2000_set_frontend()
711 struct m88rs2000_state *state = fe->demodulator_priv; in m88rs2000_get_frontend() local
712 c->fec_inner = state->fec_inner; in m88rs2000_get_frontend()
713 c->frequency = state->tuner_frequency; in m88rs2000_get_frontend()
714 c->symbol_rate = state->symbol_rate; in m88rs2000_get_frontend()
736 struct m88rs2000_state *state = fe->demodulator_priv; in m88rs2000_i2c_gate_ctrl() local
739 m88rs2000_writereg(state, 0x81, 0x84); in m88rs2000_i2c_gate_ctrl()
741 m88rs2000_writereg(state, 0x81, 0x81); in m88rs2000_i2c_gate_ctrl()
748 struct m88rs2000_state *state = fe->demodulator_priv; in m88rs2000_release() local
749 kfree(state); in m88rs2000_release()
791 struct m88rs2000_state *state = NULL; in m88rs2000_attach() local
794 state = kzalloc(sizeof(struct m88rs2000_state), GFP_KERNEL); in m88rs2000_attach()
795 if (state == NULL) in m88rs2000_attach()
799 state->config = config; in m88rs2000_attach()
800 state->i2c = i2c; in m88rs2000_attach()
801 state->tuner_frequency = 0; in m88rs2000_attach()
802 state->symbol_rate = 0; in m88rs2000_attach()
803 state->fec_inner = 0; in m88rs2000_attach()
806 memcpy(&state->frontend.ops, &m88rs2000_ops, in m88rs2000_attach()
808 state->frontend.demodulator_priv = state; in m88rs2000_attach()
809 return &state->frontend; in m88rs2000_attach()
812 kfree(state); in m88rs2000_attach()