Lines Matching defs:state

222 static int si21_writeregs(struct si21xx_state *state, u8 reg1,
228 .addr = state->config->demod_address,
240 ret = i2c_transfer(state->i2c, &msg, 1);
249 static int si21_writereg(struct si21xx_state *state, u8 reg, u8 data)
254 .addr = state->config->demod_address,
260 ret = i2c_transfer(state->i2c, &msg, 1);
271 struct si21xx_state *state = fe->demodulator_priv;
276 return si21_writereg(state, buf[0], buf[1]);
279 static u8 si21_readreg(struct si21xx_state *state, u8 reg)
286 .addr = state->config->demod_address,
291 .addr = state->config->demod_address,
298 ret = i2c_transfer(state->i2c, msg, 2);
307 static int si21_readregs(struct si21xx_state *state, u8 reg1, u8 *b, u8 len)
312 .addr = state->config->demod_address,
317 .addr = state->config->demod_address,
324 ret = i2c_transfer(state->i2c, msg, 2);
332 static int si21xx_wait_diseqc_idle(struct si21xx_state *state, int timeout)
338 while ((si21_readreg(state, LNB_CTRL_REG_1) & 0x8) == 8) {
351 struct si21xx_state *state = fe->demodulator_priv;
367 state->fs;
373 si21_writeregs(state, SYM_RATE_REG_L, sym_rate_bytes, 0x03);
381 struct si21xx_state *state = fe->demodulator_priv;
391 status |= si21_readregs(state, LNB_CTRL_STATUS_REG, &lnb_status, 0x01);
392 status |= si21_readregs(state, LNB_CTRL_REG_1, &lnb_status, 0x01);
395 status |= si21_writeregs(state, LNB_FIFO_REGS_0, m->msg, m->msg_len);
402 status |= si21_writeregs(state, LNB_CTRL_REG_1, &LNB_CTRL_1, 0x01);
410 struct si21xx_state *state = fe->demodulator_priv;
415 if (si21xx_wait_diseqc_idle(state, 100) < 0)
418 val = (0x80 | si21_readreg(state, 0xc1));
419 if (si21_writereg(state, LNB_CTRL_REG_1,
423 if (si21xx_wait_diseqc_idle(state, 100) < 0)
426 if (si21_writereg(state, LNB_CTRL_REG_1, val))
434 struct si21xx_state *state = fe->demodulator_priv;
438 val = (0x80 | si21_readreg(state, LNB_CTRL_REG_1));
442 return si21_writereg(state, LNB_CTRL_REG_1, val | 0x20);
445 return si21_writereg(state, LNB_CTRL_REG_1, (val & ~0x20));
454 struct si21xx_state *state = fe->demodulator_priv;
462 val = (0x80 | si21_readreg(state, LNB_CTRL_REG_1));
466 return si21_writereg(state, LNB_CTRL_REG_1, val | 0x40);
468 return si21_writereg(state, LNB_CTRL_REG_1, (val & ~0x40));
476 struct si21xx_state *state = fe->demodulator_priv;
490 si21_writeregs(state, reg1, &val, 1);
495 si21_writeregs(state, SYSTEM_MODE_REG, &reg1, 0x01);
524 status |= si21_writeregs(state, TS_CTRL_REG_1, reg2, 0x02);
534 struct si21xx_state *state = fe->demodulator_priv;
539 u8 signal = si21_readreg(state, ANALOG_AGC_POWER_LEVEL_REG);
541 si21_readregs(state, LOCK_STATUS_REG_1, regs_read, 0x02);
572 struct si21xx_state *state = fe->demodulator_priv;
574 /*status = si21_readreg(state, ANALOG_AGC_POWER_LEVEL_REG,
577 u16 signal = (3 * si21_readreg(state, 0x27) *
578 si21_readreg(state, 0x28));
581 si21_readreg(state, 0x27),
582 si21_readreg(state, 0x28), (int) signal);
592 struct si21xx_state *state = fe->demodulator_priv;
596 if (state->errmode != STATUS_BER)
599 *ber = (si21_readreg(state, 0x1d) << 8) |
600 si21_readreg(state, 0x1e);
607 struct si21xx_state *state = fe->demodulator_priv;
609 s32 xsnr = 0xffff - ((si21_readreg(state, 0x24) << 8) |
610 si21_readreg(state, 0x25));
621 struct si21xx_state *state = fe->demodulator_priv;
625 if (state->errmode != STATUS_UCBLOCKS)
628 *ucblocks = (si21_readreg(state, 0x1d) << 8) |
629 si21_readreg(state, 0x1e);
640 struct si21xx_state *state = fe->demodulator_priv;
659 status |= si21_writeregs(state,
664 status |= si21_readregs(state, ACQ_CTRL_REG_2, &reg, 0x01);
666 status |= si21_writeregs(state, ACQ_CTRL_REG_2, &reg, 0x01);
673 status |= si21_writeregs(state,
677 status |= si21_writeregs(state,
680 status |= si21_writeregs(state,
683 status |= si21_writeregs(state,
691 struct si21xx_state *state = fe->demodulator_priv;
828 status |= si21_writeregs(state, PLL_DIVISOR_REG, &regs[0], 0x04);
830 state->fs = sample_rate;/*ADC MHz*/
841 struct si21xx_state *state = fe->demodulator_priv;
846 si21_readregs(state, SYSTEM_MODE_REG, &regdata, 0x01);
848 si21_writeregs(state, SYSTEM_MODE_REG, &regdata, 0x01);
849 state->initialised = 0;
856 struct si21xx_state *state = fe->demodulator_priv;
860 kfree(state);
899 struct si21xx_state *state = NULL;
904 /* allocate memory for the internal state */
905 state = kzalloc(sizeof(struct si21xx_state), GFP_KERNEL);
906 if (state == NULL)
909 /* setup the state */
910 state->config = config;
911 state->i2c = i2c;
912 state->initialised = 0;
913 state->errmode = STATUS_BER;
916 id = si21_readreg(state, SYSTEM_MODE_REG);
917 si21_writereg(state, SYSTEM_MODE_REG, id | 0x40); /* standby off */
919 id = si21_readreg(state, 0x00);
931 memcpy(&state->frontend.ops, &si21xx_ops,
933 state->frontend.demodulator_priv = state;
934 return &state->frontend;
937 kfree(state);