Lines Matching refs:state

342 static int s5h1411_writereg(struct s5h1411_state *state,  in s5h1411_writereg()  argument
350 ret = i2c_transfer(state->i2c, &msg, 1); in s5h1411_writereg()
359 static u16 s5h1411_readreg(struct s5h1411_state *state, u8 addr, u8 reg) in s5h1411_readreg() argument
369 ret = i2c_transfer(state->i2c, msg, 2); in s5h1411_readreg()
379 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_softreset() local
383 s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0xf7, 0); in s5h1411_softreset()
384 s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0xf7, 1); in s5h1411_softreset()
390 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_set_if_freq() local
396 s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0x38, 0x10d5); in s5h1411_set_if_freq()
397 s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0x39, 0x5342); in s5h1411_set_if_freq()
398 s5h1411_writereg(state, S5H1411_I2C_QAM_ADDR, 0x2c, 0x10d9); in s5h1411_set_if_freq()
401 s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0x38, 0x1225); in s5h1411_set_if_freq()
402 s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0x39, 0x1e96); in s5h1411_set_if_freq()
403 s5h1411_writereg(state, S5H1411_I2C_QAM_ADDR, 0x2c, 0x1225); in s5h1411_set_if_freq()
406 s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0x38, 0x14bc); in s5h1411_set_if_freq()
407 s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0x39, 0xb53e); in s5h1411_set_if_freq()
408 s5h1411_writereg(state, S5H1411_I2C_QAM_ADDR, 0x2c, 0x14bd); in s5h1411_set_if_freq()
416 s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0x38, 0x1be4); in s5h1411_set_if_freq()
417 s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0x39, 0x3655); in s5h1411_set_if_freq()
418 s5h1411_writereg(state, S5H1411_I2C_QAM_ADDR, 0x2c, 0x1be4); in s5h1411_set_if_freq()
422 state->if_freq = KHz; in s5h1411_set_if_freq()
429 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_set_mpeg_timing() local
434 val = s5h1411_readreg(state, S5H1411_I2C_TOP_ADDR, 0xbe) & 0xcfff; in s5h1411_set_mpeg_timing()
454 return s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0xbe, val); in s5h1411_set_mpeg_timing()
459 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_set_spectralinversion() local
463 val = s5h1411_readreg(state, S5H1411_I2C_TOP_ADDR, 0x24) & ~0x1000; in s5h1411_set_spectralinversion()
468 state->inversion = inversion; in s5h1411_set_spectralinversion()
469 return s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0x24, val); in s5h1411_set_spectralinversion()
474 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_set_serialmode() local
478 val = s5h1411_readreg(state, S5H1411_I2C_TOP_ADDR, 0xbd) & ~0x100; in s5h1411_set_serialmode()
483 return s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0xbd, val); in s5h1411_set_serialmode()
489 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_enable_modulation() local
493 if ((state->first_tune == 0) && (m == state->current_modulation)) { in s5h1411_enable_modulation()
502 s5h1411_set_if_freq(fe, state->config->vsb_if); in s5h1411_enable_modulation()
503 s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0x00, 0x71); in s5h1411_enable_modulation()
504 s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0xf6, 0x00); in s5h1411_enable_modulation()
505 s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0xcd, 0xf1); in s5h1411_enable_modulation()
511 s5h1411_set_if_freq(fe, state->config->qam_if); in s5h1411_enable_modulation()
512 s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0x00, 0x0171); in s5h1411_enable_modulation()
513 s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0xf6, 0x0001); in s5h1411_enable_modulation()
514 s5h1411_writereg(state, S5H1411_I2C_QAM_ADDR, 0x16, 0x1101); in s5h1411_enable_modulation()
515 s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0xcd, 0x00f0); in s5h1411_enable_modulation()
522 state->current_modulation = m; in s5h1411_enable_modulation()
523 state->first_tune = 0; in s5h1411_enable_modulation()
531 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_i2c_gate_ctrl() local
536 return s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0xf5, 1); in s5h1411_i2c_gate_ctrl()
538 return s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0xf5, 0); in s5h1411_i2c_gate_ctrl()
543 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_set_gpio() local
548 val = s5h1411_readreg(state, S5H1411_I2C_TOP_ADDR, 0xe0) & ~0x02; in s5h1411_set_gpio()
551 return s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0xe0, in s5h1411_set_gpio()
554 return s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0xe0, val); in s5h1411_set_gpio()
559 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_set_powerstate() local
564 s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0xf4, 1); in s5h1411_set_powerstate()
566 s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0xf4, 0); in s5h1411_set_powerstate()
580 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_register_reset() local
584 return s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0xf3, 0); in s5h1411_register_reset()
591 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_set_frontend() local
597 state->current_frequency = p->frequency; in s5h1411_set_frontend()
622 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_init() local
631 s5h1411_writereg(state, init_tab[i].addr, in s5h1411_init()
636 state->current_modulation = VSB_8; in s5h1411_init()
641 state->first_tune = 1; in s5h1411_init()
643 if (state->config->output_mode == S5H1411_SERIAL_OUTPUT) in s5h1411_init()
650 s5h1411_set_spectralinversion(fe, state->config->inversion); in s5h1411_init()
651 s5h1411_set_if_freq(fe, state->config->vsb_if); in s5h1411_init()
652 s5h1411_set_gpio(fe, state->config->gpio); in s5h1411_init()
653 s5h1411_set_mpeg_timing(fe, state->config->mpeg_timing); in s5h1411_init()
664 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_read_status() local
672 switch (state->current_modulation) { in s5h1411_read_status()
675 reg = s5h1411_readreg(state, S5H1411_I2C_TOP_ADDR, 0xf0); in s5h1411_read_status()
683 reg = s5h1411_readreg(state, S5H1411_I2C_TOP_ADDR, 0xf2); in s5h1411_read_status()
689 reg = s5h1411_readreg(state, S5H1411_I2C_TOP_ADDR, 0x53); in s5h1411_read_status()
698 switch (state->config->status_mode) { in s5h1411_read_status()
772 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_read_snr() local
776 switch (state->current_modulation) { in s5h1411_read_snr()
778 reg = s5h1411_readreg(state, S5H1411_I2C_TOP_ADDR, 0xf1); in s5h1411_read_snr()
781 reg = s5h1411_readreg(state, S5H1411_I2C_TOP_ADDR, 0xf1); in s5h1411_read_snr()
784 reg = s5h1411_readreg(state, S5H1411_I2C_TOP_ADDR, in s5h1411_read_snr()
831 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_read_ucblocks() local
833 *ucblocks = s5h1411_readreg(state, S5H1411_I2C_TOP_ADDR, 0xc9); in s5h1411_read_ucblocks()
846 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_get_frontend() local
848 p->frequency = state->current_frequency; in s5h1411_get_frontend()
849 p->modulation = state->current_modulation; in s5h1411_get_frontend()
863 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_release() local
864 kfree(state); in s5h1411_release()
872 struct s5h1411_state *state = NULL; in s5h1411_attach() local
876 state = kzalloc(sizeof(struct s5h1411_state), GFP_KERNEL); in s5h1411_attach()
877 if (state == NULL) in s5h1411_attach()
881 state->config = config; in s5h1411_attach()
882 state->i2c = i2c; in s5h1411_attach()
883 state->current_modulation = VSB_8; in s5h1411_attach()
884 state->inversion = state->config->inversion; in s5h1411_attach()
887 reg = s5h1411_readreg(state, S5H1411_I2C_TOP_ADDR, 0x05); in s5h1411_attach()
892 memcpy(&state->frontend.ops, &s5h1411_ops, in s5h1411_attach()
895 state->frontend.demodulator_priv = state; in s5h1411_attach()
897 if (s5h1411_init(&state->frontend) != 0) { in s5h1411_attach()
904 s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0xf5, 1); in s5h1411_attach()
907 s5h1411_set_powerstate(&state->frontend, 1); in s5h1411_attach()
909 return &state->frontend; in s5h1411_attach()
912 kfree(state); in s5h1411_attach()