Lines Matching refs:state
85 static int cx22702_writereg(struct cx22702_state *state, u8 reg, u8 data) in cx22702_writereg() argument
90 .addr = state->config->demod_address, .flags = 0, in cx22702_writereg()
93 ret = i2c_transfer(state->i2c, &msg, 1); in cx22702_writereg()
105 static u8 cx22702_readreg(struct cx22702_state *state, u8 reg) in cx22702_readreg() argument
111 { .addr = state->config->demod_address, .flags = 0, in cx22702_readreg()
113 { .addr = state->config->demod_address, .flags = I2C_M_RD, in cx22702_readreg()
116 ret = i2c_transfer(state->i2c, msg, 2); in cx22702_readreg()
127 static int cx22702_set_inversion(struct cx22702_state *state, int inversion) in cx22702_set_inversion() argument
131 val = cx22702_readreg(state, 0x0C); in cx22702_set_inversion()
144 return cx22702_writereg(state, 0x0C, val); in cx22702_set_inversion()
148 static int cx22702_get_tps(struct cx22702_state *state, in cx22702_get_tps() argument
154 if (!(cx22702_readreg(state, 0x0A) & 0x20)) in cx22702_get_tps()
157 val = cx22702_readreg(state, 0x01); in cx22702_get_tps()
185 val = cx22702_readreg(state, 0x02); in cx22702_get_tps()
221 val = cx22702_readreg(state, 0x03); in cx22702_get_tps()
250 struct cx22702_state *state = fe->demodulator_priv; in cx22702_i2c_gate_ctrl() local
254 val = cx22702_readreg(state, 0x0D); in cx22702_i2c_gate_ctrl()
259 return cx22702_writereg(state, 0x0D, val); in cx22702_i2c_gate_ctrl()
267 struct cx22702_state *state = fe->demodulator_priv; in cx22702_set_tps() local
276 cx22702_set_inversion(state, p->inversion); in cx22702_set_tps()
279 val = cx22702_readreg(state, 0x0C) & 0xcf; in cx22702_set_tps()
293 cx22702_writereg(state, 0x0C, val); in cx22702_set_tps()
306 cx22702_writereg(state, 0x06, 0x10); in cx22702_set_tps()
307 cx22702_writereg(state, 0x07, 0x9); in cx22702_set_tps()
308 cx22702_writereg(state, 0x08, 0xC1); in cx22702_set_tps()
309 cx22702_writereg(state, 0x0B, cx22702_readreg(state, 0x0B) in cx22702_set_tps()
311 cx22702_writereg(state, 0x0C, in cx22702_set_tps()
312 (cx22702_readreg(state, 0x0C) & 0xBF) | 0x40); in cx22702_set_tps()
313 cx22702_writereg(state, 0x00, 0x01); /* Begin acquisition */ in cx22702_set_tps()
349 cx22702_writereg(state, 0x06, val); in cx22702_set_tps()
392 cx22702_writereg(state, 0x07, val); in cx22702_set_tps()
421 cx22702_writereg(state, 0x08, val); in cx22702_set_tps()
422 cx22702_writereg(state, 0x0B, in cx22702_set_tps()
423 (cx22702_readreg(state, 0x0B) & 0xfc) | 0x02); in cx22702_set_tps()
424 cx22702_writereg(state, 0x0C, in cx22702_set_tps()
425 (cx22702_readreg(state, 0x0C) & 0xBF) | 0x40); in cx22702_set_tps()
428 cx22702_writereg(state, 0x00, 0x01); in cx22702_set_tps()
438 struct cx22702_state *state = fe->demodulator_priv; in cx22702_init() local
440 cx22702_writereg(state, 0x00, 0x02); in cx22702_init()
445 cx22702_writereg(state, init_tab[i], init_tab[i + 1]); in cx22702_init()
447 cx22702_writereg(state, 0xf8, (state->config->output_mode << 1) in cx22702_init()
457 struct cx22702_state *state = fe->demodulator_priv; in cx22702_read_status() local
463 reg0A = cx22702_readreg(state, 0x0A); in cx22702_read_status()
464 reg23 = cx22702_readreg(state, 0x23); in cx22702_read_status()
486 struct cx22702_state *state = fe->demodulator_priv; in cx22702_read_ber() local
488 if (cx22702_readreg(state, 0xE4) & 0x02) { in cx22702_read_ber()
490 *ber = (cx22702_readreg(state, 0xDE) & 0x7F) << 7 in cx22702_read_ber()
491 | (cx22702_readreg(state, 0xDF) & 0x7F); in cx22702_read_ber()
494 *ber = (cx22702_readreg(state, 0xDE) & 0x7F) << 7 in cx22702_read_ber()
495 | cx22702_readreg(state, 0xDF); in cx22702_read_ber()
504 struct cx22702_state *state = fe->demodulator_priv; in cx22702_read_signal_strength() local
517 reg23 = cx22702_readreg(state, 0x23); in cx22702_read_signal_strength()
531 struct cx22702_state *state = fe->demodulator_priv; in cx22702_read_snr() local
534 if (cx22702_readreg(state, 0xE4) & 0x02) { in cx22702_read_snr()
536 rs_ber = (cx22702_readreg(state, 0xDE) & 0x7F) << 7 in cx22702_read_snr()
537 | (cx22702_readreg(state, 0xDF) & 0x7F); in cx22702_read_snr()
540 rs_ber = (cx22702_readreg(state, 0xDE) & 0x7F) << 8 in cx22702_read_snr()
541 | cx22702_readreg(state, 0xDF); in cx22702_read_snr()
550 struct cx22702_state *state = fe->demodulator_priv; in cx22702_read_ucblocks() local
555 _ucblocks = cx22702_readreg(state, 0xE3); in cx22702_read_ucblocks()
556 if (state->prevUCBlocks < _ucblocks) in cx22702_read_ucblocks()
557 *ucblocks = (_ucblocks - state->prevUCBlocks); in cx22702_read_ucblocks()
559 *ucblocks = state->prevUCBlocks - _ucblocks; in cx22702_read_ucblocks()
560 state->prevUCBlocks = _ucblocks; in cx22702_read_ucblocks()
568 struct cx22702_state *state = fe->demodulator_priv; in cx22702_get_frontend() local
570 u8 reg0C = cx22702_readreg(state, 0x0C); in cx22702_get_frontend()
573 return cx22702_get_tps(state, c); in cx22702_get_frontend()
585 struct cx22702_state *state = fe->demodulator_priv; in cx22702_release() local
586 kfree(state); in cx22702_release()
594 struct cx22702_state *state = NULL; in cx22702_attach() local
597 state = kzalloc(sizeof(struct cx22702_state), GFP_KERNEL); in cx22702_attach()
598 if (state == NULL) in cx22702_attach()
602 state->config = config; in cx22702_attach()
603 state->i2c = i2c; in cx22702_attach()
606 if (cx22702_readreg(state, 0x1f) != 0x3) in cx22702_attach()
610 memcpy(&state->frontend.ops, &cx22702_ops, in cx22702_attach()
612 state->frontend.demodulator_priv = state; in cx22702_attach()
613 return &state->frontend; in cx22702_attach()
616 kfree(state); in cx22702_attach()