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, in tda8083_set_inversion() argument
110 static int tda8083_set_fec(struct tda8083_state *state, enum fe_code_rate fec) in tda8083_set_fec() argument
113 return tda8083_writereg (state, 0x07, 0xff); in tda8083_set_fec()
116 return tda8083_writereg (state, 0x07, 1 << (FEC_8_9 - fec)); in tda8083_set_fec()
121 static enum fe_code_rate tda8083_get_fec(struct tda8083_state *state) in tda8083_get_fec() argument
129 index = tda8083_readreg(state, 0x0e) & 0x07; in tda8083_get_fec()
134 static int tda8083_set_symbolrate (struct tda8083_state* state, u32 srate) in tda8083_set_symbolrate() argument
162 tda8083_writereg (state, 0x05, filter); in tda8083_set_symbolrate()
163 tda8083_writereg (state, 0x02, (ratio >> 16) & 0xff); in tda8083_set_symbolrate()
164 tda8083_writereg (state, 0x03, (ratio >> 8) & 0xff); in tda8083_set_symbolrate()
165 tda8083_writereg (state, 0x04, (ratio ) & 0xff); in tda8083_set_symbolrate()
167 tda8083_writereg (state, 0x00, 0x3c); in tda8083_set_symbolrate()
168 tda8083_writereg (state, 0x00, 0x04); in tda8083_set_symbolrate()
173 static void tda8083_wait_diseqc_fifo (struct tda8083_state* state, int timeout) in tda8083_wait_diseqc_fifo() argument
178 !(tda8083_readreg(state, 0x02) & 0x80)) in tda8083_wait_diseqc_fifo()
184 static int tda8083_set_tone(struct tda8083_state *state, in tda8083_set_tone() argument
187 tda8083_writereg (state, 0x26, 0xf1); in tda8083_set_tone()
191 return tda8083_writereg (state, 0x29, 0x00); in tda8083_set_tone()
193 return tda8083_writereg (state, 0x29, 0x80); in tda8083_set_tone()
199 static int tda8083_set_voltage(struct tda8083_state *state, in tda8083_set_voltage() argument
204 return tda8083_writereg (state, 0x20, 0x00); in tda8083_set_voltage()
206 return tda8083_writereg (state, 0x20, 0x11); in tda8083_set_voltage()
212 static int tda8083_send_diseqc_burst(struct tda8083_state *state, in tda8083_send_diseqc_burst() argument
217 tda8083_writereg (state, 0x29, (5 << 2)); /* send burst A */ in tda8083_send_diseqc_burst()
220 tda8083_writereg (state, 0x29, (7 << 2)); /* send B */ in tda8083_send_diseqc_burst()
226 tda8083_wait_diseqc_fifo (state, 100); in tda8083_send_diseqc_burst()
234 struct tda8083_state* state = fe->demodulator_priv; in tda8083_send_diseqc_msg() local
237 tda8083_writereg (state, 0x29, (m->msg_len - 3) | (1 << 2)); /* enable */ in tda8083_send_diseqc_msg()
240 tda8083_writereg (state, 0x23 + i, m->msg[i]); in tda8083_send_diseqc_msg()
242 tda8083_writereg (state, 0x29, (m->msg_len - 3) | (3 << 2)); /* send!! */ in tda8083_send_diseqc_msg()
244 tda8083_wait_diseqc_fifo (state, 100); in tda8083_send_diseqc_msg()
252 struct tda8083_state* state = fe->demodulator_priv; in tda8083_read_status() local
254 u8 signal = ~tda8083_readreg (state, 0x01); in tda8083_read_status()
255 u8 sync = tda8083_readreg (state, 0x02); in tda8083_read_status()
282 struct tda8083_state* state = fe->demodulator_priv; in tda8083_read_ber() local
286 if ((ret = tda8083_readregs(state, 0x0b, buf, sizeof(buf)))) in tda8083_read_ber()
296 struct tda8083_state* state = fe->demodulator_priv; in tda8083_read_signal_strength() local
298 u8 signal = ~tda8083_readreg (state, 0x01); in tda8083_read_signal_strength()
306 struct tda8083_state* state = fe->demodulator_priv; in tda8083_read_snr() local
308 u8 _snr = tda8083_readreg (state, 0x08); in tda8083_read_snr()
316 struct tda8083_state* state = fe->demodulator_priv; in tda8083_read_ucblocks() local
318 *ucblocks = tda8083_readreg(state, 0x0f); in tda8083_read_ucblocks()
328 struct tda8083_state* state = fe->demodulator_priv; in tda8083_set_frontend() local
335 tda8083_set_inversion (state, p->inversion); in tda8083_set_frontend()
336 tda8083_set_fec(state, p->fec_inner); in tda8083_set_frontend()
337 tda8083_set_symbolrate(state, p->symbol_rate); in tda8083_set_frontend()
339 tda8083_writereg (state, 0x00, 0x3c); in tda8083_set_frontend()
340 tda8083_writereg (state, 0x00, 0x04); in tda8083_set_frontend()
348 struct tda8083_state* state = fe->demodulator_priv; in tda8083_get_frontend() local
352 p->inversion = (tda8083_readreg (state, 0x0e) & 0x80) ? in tda8083_get_frontend()
354 p->fec_inner = tda8083_get_fec(state); in tda8083_get_frontend()
362 struct tda8083_state* state = fe->demodulator_priv; in tda8083_sleep() local
364 tda8083_writereg (state, 0x00, 0x02); in tda8083_sleep()
370 struct tda8083_state* state = fe->demodulator_priv; in tda8083_init() local
374 tda8083_writereg (state, i, tda8083_init_tab[i]); in tda8083_init()
376 tda8083_writereg (state, 0x00, 0x3c); in tda8083_init()
377 tda8083_writereg (state, 0x00, 0x04); in tda8083_init()
385 struct tda8083_state* state = fe->demodulator_priv; in tda8083_diseqc_send_burst() local
387 tda8083_send_diseqc_burst (state, burst); in tda8083_diseqc_send_burst()
388 tda8083_writereg (state, 0x00, 0x3c); in tda8083_diseqc_send_burst()
389 tda8083_writereg (state, 0x00, 0x04); in tda8083_diseqc_send_burst()
397 struct tda8083_state* state = fe->demodulator_priv; in tda8083_diseqc_set_tone() local
399 tda8083_set_tone (state, tone); in tda8083_diseqc_set_tone()
400 tda8083_writereg (state, 0x00, 0x3c); in tda8083_diseqc_set_tone()
401 tda8083_writereg (state, 0x00, 0x04); in tda8083_diseqc_set_tone()
409 struct tda8083_state* state = fe->demodulator_priv; in tda8083_diseqc_set_voltage() local
411 tda8083_set_voltage (state, voltage); in tda8083_diseqc_set_voltage()
412 tda8083_writereg (state, 0x00, 0x3c); in tda8083_diseqc_set_voltage()
413 tda8083_writereg (state, 0x00, 0x04); in tda8083_diseqc_set_voltage()
420 struct tda8083_state* state = fe->demodulator_priv; in tda8083_release() local
421 kfree(state); in tda8083_release()
429 struct tda8083_state* state = NULL; in tda8083_attach() local
432 state = kzalloc(sizeof(struct tda8083_state), GFP_KERNEL); in tda8083_attach()
433 if (state == NULL) goto error; in tda8083_attach()
436 state->config = config; in tda8083_attach()
437 state->i2c = i2c; in tda8083_attach()
440 if ((tda8083_readreg(state, 0x00)) != 0x05) goto error; in tda8083_attach()
443 memcpy(&state->frontend.ops, &tda8083_ops, sizeof(struct dvb_frontend_ops)); in tda8083_attach()
444 state->frontend.demodulator_priv = state; in tda8083_attach()
445 return &state->frontend; in tda8083_attach()
448 kfree(state); in tda8083_attach()