Lines Matching refs:state

61 static int tda8083_writereg (struct tda8083_state* state, u8 reg, u8 data)  in tda8083_writereg()  argument
65 struct i2c_msg msg = { .addr = state->config->demod_address, .flags = 0, .buf = buf, .len = 2 }; in tda8083_writereg()
67 ret = i2c_transfer(state->i2c, &msg, 1); in tda8083_writereg()
76 static int tda8083_readregs (struct tda8083_state* state, u8 reg1, u8 *b, u8 len) in tda8083_readregs() argument
79 …struct i2c_msg msg [] = { { .addr = state->config->demod_address, .flags = 0, .buf = &reg1, .len =… in tda8083_readregs()
80 { .addr = state->config->demod_address, .flags = I2C_M_RD, .buf = b, .len = len } }; in tda8083_readregs()
82 ret = i2c_transfer(state->i2c, msg, 2); in tda8083_readregs()
91 static inline u8 tda8083_readreg (struct tda8083_state* state, u8 reg) in tda8083_readreg() argument
95 tda8083_readregs (state, reg, &val, 1); in tda8083_readreg()
100 static int tda8083_set_inversion (struct tda8083_state* state, fe_spectral_inversion_t inversion) in tda8083_set_inversion() argument
109 static int tda8083_set_fec (struct tda8083_state* state, fe_code_rate_t fec) in tda8083_set_fec() argument
112 return tda8083_writereg (state, 0x07, 0xff); in tda8083_set_fec()
115 return tda8083_writereg (state, 0x07, 1 << (FEC_8_9 - fec)); in tda8083_set_fec()
120 static fe_code_rate_t tda8083_get_fec (struct tda8083_state* state) in tda8083_get_fec() argument
126 index = tda8083_readreg(state, 0x0e) & 0x07; in tda8083_get_fec()
131 static int tda8083_set_symbolrate (struct tda8083_state* state, u32 srate) in tda8083_set_symbolrate() argument
159 tda8083_writereg (state, 0x05, filter); in tda8083_set_symbolrate()
160 tda8083_writereg (state, 0x02, (ratio >> 16) & 0xff); in tda8083_set_symbolrate()
161 tda8083_writereg (state, 0x03, (ratio >> 8) & 0xff); in tda8083_set_symbolrate()
162 tda8083_writereg (state, 0x04, (ratio ) & 0xff); in tda8083_set_symbolrate()
164 tda8083_writereg (state, 0x00, 0x3c); in tda8083_set_symbolrate()
165 tda8083_writereg (state, 0x00, 0x04); in tda8083_set_symbolrate()
170 static void tda8083_wait_diseqc_fifo (struct tda8083_state* state, int timeout) in tda8083_wait_diseqc_fifo() argument
175 !(tda8083_readreg(state, 0x02) & 0x80)) in tda8083_wait_diseqc_fifo()
181 static int tda8083_set_tone (struct tda8083_state* state, fe_sec_tone_mode_t tone) in tda8083_set_tone() argument
183 tda8083_writereg (state, 0x26, 0xf1); in tda8083_set_tone()
187 return tda8083_writereg (state, 0x29, 0x00); in tda8083_set_tone()
189 return tda8083_writereg (state, 0x29, 0x80); in tda8083_set_tone()
195 static int tda8083_set_voltage (struct tda8083_state* state, fe_sec_voltage_t voltage) in tda8083_set_voltage() argument
199 return tda8083_writereg (state, 0x20, 0x00); in tda8083_set_voltage()
201 return tda8083_writereg (state, 0x20, 0x11); in tda8083_set_voltage()
207 static int tda8083_send_diseqc_burst (struct tda8083_state* state, fe_sec_mini_cmd_t burst) in tda8083_send_diseqc_burst() argument
211 tda8083_writereg (state, 0x29, (5 << 2)); /* send burst A */ in tda8083_send_diseqc_burst()
214 tda8083_writereg (state, 0x29, (7 << 2)); /* send B */ in tda8083_send_diseqc_burst()
220 tda8083_wait_diseqc_fifo (state, 100); in tda8083_send_diseqc_burst()
228 struct tda8083_state* state = fe->demodulator_priv; in tda8083_send_diseqc_msg() local
231 tda8083_writereg (state, 0x29, (m->msg_len - 3) | (1 << 2)); /* enable */ in tda8083_send_diseqc_msg()
234 tda8083_writereg (state, 0x23 + i, m->msg[i]); in tda8083_send_diseqc_msg()
236 tda8083_writereg (state, 0x29, (m->msg_len - 3) | (3 << 2)); /* send!! */ in tda8083_send_diseqc_msg()
238 tda8083_wait_diseqc_fifo (state, 100); in tda8083_send_diseqc_msg()
245 struct tda8083_state* state = fe->demodulator_priv; in tda8083_read_status() local
247 u8 signal = ~tda8083_readreg (state, 0x01); in tda8083_read_status()
248 u8 sync = tda8083_readreg (state, 0x02); in tda8083_read_status()
275 struct tda8083_state* state = fe->demodulator_priv; in tda8083_read_ber() local
279 if ((ret = tda8083_readregs(state, 0x0b, buf, sizeof(buf)))) in tda8083_read_ber()
289 struct tda8083_state* state = fe->demodulator_priv; in tda8083_read_signal_strength() local
291 u8 signal = ~tda8083_readreg (state, 0x01); in tda8083_read_signal_strength()
299 struct tda8083_state* state = fe->demodulator_priv; in tda8083_read_snr() local
301 u8 _snr = tda8083_readreg (state, 0x08); in tda8083_read_snr()
309 struct tda8083_state* state = fe->demodulator_priv; in tda8083_read_ucblocks() local
311 *ucblocks = tda8083_readreg(state, 0x0f); in tda8083_read_ucblocks()
321 struct tda8083_state* state = fe->demodulator_priv; in tda8083_set_frontend() local
328 tda8083_set_inversion (state, p->inversion); in tda8083_set_frontend()
329 tda8083_set_fec(state, p->fec_inner); in tda8083_set_frontend()
330 tda8083_set_symbolrate(state, p->symbol_rate); in tda8083_set_frontend()
332 tda8083_writereg (state, 0x00, 0x3c); in tda8083_set_frontend()
333 tda8083_writereg (state, 0x00, 0x04); in tda8083_set_frontend()
341 struct tda8083_state* state = fe->demodulator_priv; in tda8083_get_frontend() local
345 p->inversion = (tda8083_readreg (state, 0x0e) & 0x80) ? in tda8083_get_frontend()
347 p->fec_inner = tda8083_get_fec(state); in tda8083_get_frontend()
355 struct tda8083_state* state = fe->demodulator_priv; in tda8083_sleep() local
357 tda8083_writereg (state, 0x00, 0x02); in tda8083_sleep()
363 struct tda8083_state* state = fe->demodulator_priv; in tda8083_init() local
367 tda8083_writereg (state, i, tda8083_init_tab[i]); in tda8083_init()
369 tda8083_writereg (state, 0x00, 0x3c); in tda8083_init()
370 tda8083_writereg (state, 0x00, 0x04); in tda8083_init()
377 struct tda8083_state* state = fe->demodulator_priv; in tda8083_diseqc_send_burst() local
379 tda8083_send_diseqc_burst (state, burst); in tda8083_diseqc_send_burst()
380 tda8083_writereg (state, 0x00, 0x3c); in tda8083_diseqc_send_burst()
381 tda8083_writereg (state, 0x00, 0x04); in tda8083_diseqc_send_burst()
388 struct tda8083_state* state = fe->demodulator_priv; in tda8083_diseqc_set_tone() local
390 tda8083_set_tone (state, tone); in tda8083_diseqc_set_tone()
391 tda8083_writereg (state, 0x00, 0x3c); in tda8083_diseqc_set_tone()
392 tda8083_writereg (state, 0x00, 0x04); in tda8083_diseqc_set_tone()
399 struct tda8083_state* state = fe->demodulator_priv; in tda8083_diseqc_set_voltage() local
401 tda8083_set_voltage (state, voltage); in tda8083_diseqc_set_voltage()
402 tda8083_writereg (state, 0x00, 0x3c); in tda8083_diseqc_set_voltage()
403 tda8083_writereg (state, 0x00, 0x04); in tda8083_diseqc_set_voltage()
410 struct tda8083_state* state = fe->demodulator_priv; in tda8083_release() local
411 kfree(state); in tda8083_release()
419 struct tda8083_state* state = NULL; in tda8083_attach() local
422 state = kzalloc(sizeof(struct tda8083_state), GFP_KERNEL); in tda8083_attach()
423 if (state == NULL) goto error; in tda8083_attach()
426 state->config = config; in tda8083_attach()
427 state->i2c = i2c; in tda8083_attach()
430 if ((tda8083_readreg(state, 0x00)) != 0x05) goto error; in tda8083_attach()
433 memcpy(&state->frontend.ops, &tda8083_ops, sizeof(struct dvb_frontend_ops)); in tda8083_attach()
434 state->frontend.demodulator_priv = state; in tda8083_attach()
435 return &state->frontend; in tda8083_attach()
438 kfree(state); in tda8083_attach()