Lines Matching refs:state

63 static int stv0288_writeregI(struct stv0288_state *state, u8 reg, u8 data)  in stv0288_writeregI()  argument
68 .addr = state->config->demod_address, in stv0288_writeregI()
74 ret = i2c_transfer(state->i2c, &msg, 1); in stv0288_writeregI()
85 struct stv0288_state *state = fe->demodulator_priv; in stv0288_write() local
90 return stv0288_writeregI(state, buf[0], buf[1]); in stv0288_write()
93 static u8 stv0288_readreg(struct stv0288_state *state, u8 reg) in stv0288_readreg() argument
100 .addr = state->config->demod_address, in stv0288_readreg()
105 .addr = state->config->demod_address, in stv0288_readreg()
112 ret = i2c_transfer(state->i2c, msg, 2); in stv0288_readreg()
123 struct stv0288_state *state = fe->demodulator_priv; in stv0288_set_symbolrate() local
130 stv0288_writeregI(state, 0x22, 0); in stv0288_set_symbolrate()
131 stv0288_writeregI(state, 0x23, 0); in stv0288_set_symbolrate()
132 stv0288_writeregI(state, 0x2b, 0xff); in stv0288_set_symbolrate()
133 stv0288_writeregI(state, 0x2c, 0xf7); in stv0288_set_symbolrate()
143 stv0288_writeregI(state, 0x28, 0x80); /* SFRH */ in stv0288_set_symbolrate()
144 stv0288_writeregI(state, 0x29, 0); /* SFRM */ in stv0288_set_symbolrate()
145 stv0288_writeregI(state, 0x2a, 0); /* SFRL */ in stv0288_set_symbolrate()
147 stv0288_writeregI(state, 0x28, b[0]); in stv0288_set_symbolrate()
148 stv0288_writeregI(state, 0x29, b[1]); in stv0288_set_symbolrate()
149 stv0288_writeregI(state, 0x2a, b[2]); in stv0288_set_symbolrate()
158 struct stv0288_state *state = fe->demodulator_priv; in stv0288_send_diseqc_msg() local
164 stv0288_writeregI(state, 0x09, 0); in stv0288_send_diseqc_msg()
166 stv0288_writeregI(state, 0x05, 0x12);/* modulated mode, single shot */ in stv0288_send_diseqc_msg()
169 if (stv0288_writeregI(state, 0x06, m->msg[i])) in stv0288_send_diseqc_msg()
179 struct stv0288_state *state = fe->demodulator_priv; in stv0288_send_diseqc_burst() local
183 if (stv0288_writeregI(state, 0x05, 0x03))/* burst mode, single shot */ in stv0288_send_diseqc_burst()
186 if (stv0288_writeregI(state, 0x06, burst == SEC_MINI_A ? 0x00 : 0xff)) in stv0288_send_diseqc_burst()
190 if (stv0288_writeregI(state, 0x05, 0x12)) in stv0288_send_diseqc_burst()
198 struct stv0288_state *state = fe->demodulator_priv; in stv0288_set_tone() local
202 if (stv0288_writeregI(state, 0x05, 0x10))/* cont carrier */ in stv0288_set_tone()
207 if (stv0288_writeregI(state, 0x05, 0x12))/* burst mode off*/ in stv0288_set_tone()
337 struct stv0288_state *state = fe->demodulator_priv; in stv0288_init() local
343 stv0288_writeregI(state, 0x41, 0x04); in stv0288_init()
347 if (state->config->inittab == NULL) { in stv0288_init()
350 stv0288_writeregI(state, stv0288_inittab[i], in stv0288_init()
354 reg = state->config->inittab[i]; in stv0288_init()
355 val = state->config->inittab[i+1]; in stv0288_init()
358 stv0288_writeregI(state, reg, val); in stv0288_init()
366 struct stv0288_state *state = fe->demodulator_priv; in stv0288_read_status() local
368 u8 sync = stv0288_readreg(state, 0x24); in stv0288_read_status()
389 struct stv0288_state *state = fe->demodulator_priv; in stv0288_read_ber() local
391 if (state->errmode != STATUS_BER) in stv0288_read_ber()
393 *ber = (stv0288_readreg(state, 0x26) << 8) | in stv0288_read_ber()
394 stv0288_readreg(state, 0x27); in stv0288_read_ber()
403 struct stv0288_state *state = fe->demodulator_priv; in stv0288_read_signal_strength() local
405 s32 signal = 0xffff - ((stv0288_readreg(state, 0x10) << 8)); in stv0288_read_signal_strength()
416 struct stv0288_state *state = fe->demodulator_priv; in stv0288_sleep() local
418 stv0288_writeregI(state, 0x41, 0x84); in stv0288_sleep()
419 state->initialised = 0; in stv0288_sleep()
425 struct stv0288_state *state = fe->demodulator_priv; in stv0288_read_snr() local
427 s32 xsnr = 0xffff - ((stv0288_readreg(state, 0x2d) << 8) in stv0288_read_snr()
428 | stv0288_readreg(state, 0x2e)); in stv0288_read_snr()
438 struct stv0288_state *state = fe->demodulator_priv; in stv0288_read_ucblocks() local
440 if (state->errmode != STATUS_BER) in stv0288_read_ucblocks()
442 *ucblocks = (stv0288_readreg(state, 0x26) << 8) | in stv0288_read_ucblocks()
443 stv0288_readreg(state, 0x27); in stv0288_read_ucblocks()
457 struct stv0288_state *state = fe->demodulator_priv; in stv0288_set_frontend() local
473 if (state->config->set_ts_params) in stv0288_set_frontend()
474 state->config->set_ts_params(fe, 0); in stv0288_set_frontend()
486 stv0288_writeregI(state, 0x15, 0xc5); in stv0288_set_frontend()
491 reg = stv0288_readreg(state, 0x24); in stv0288_set_frontend()
507 stv0288_writeregI(state, 0x2b, tda[1]); in stv0288_set_frontend()
508 stv0288_writeregI(state, 0x2c, tda[2]); in stv0288_set_frontend()
511 state->tuner_frequency = c->frequency; in stv0288_set_frontend()
512 state->fec_inner = FEC_AUTO; in stv0288_set_frontend()
513 state->symbol_rate = c->symbol_rate; in stv0288_set_frontend()
520 struct stv0288_state *state = fe->demodulator_priv; in stv0288_i2c_gate_ctrl() local
523 stv0288_writeregI(state, 0x01, 0xb5); in stv0288_i2c_gate_ctrl()
525 stv0288_writeregI(state, 0x01, 0x35); in stv0288_i2c_gate_ctrl()
534 struct stv0288_state *state = fe->demodulator_priv; in stv0288_release() local
535 kfree(state); in stv0288_release()
577 struct stv0288_state *state = NULL; in stv0288_attach() local
581 state = kzalloc(sizeof(struct stv0288_state), GFP_KERNEL); in stv0288_attach()
582 if (state == NULL) in stv0288_attach()
586 state->config = config; in stv0288_attach()
587 state->i2c = i2c; in stv0288_attach()
588 state->initialised = 0; in stv0288_attach()
589 state->tuner_frequency = 0; in stv0288_attach()
590 state->symbol_rate = 0; in stv0288_attach()
591 state->fec_inner = 0; in stv0288_attach()
592 state->errmode = STATUS_BER; in stv0288_attach()
594 stv0288_writeregI(state, 0x41, 0x04); in stv0288_attach()
596 id = stv0288_readreg(state, 0x00); in stv0288_attach()
604 memcpy(&state->frontend.ops, &stv0288_ops, in stv0288_attach()
606 state->frontend.demodulator_priv = state; in stv0288_attach()
607 return &state->frontend; in stv0288_attach()
610 kfree(state); in stv0288_attach()