Lines Matching refs:fe
377 static int s5h1411_softreset(struct dvb_frontend *fe) in s5h1411_softreset() argument
379 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_softreset()
388 static int s5h1411_set_if_freq(struct dvb_frontend *fe, int KHz) in s5h1411_set_if_freq() argument
390 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_set_if_freq()
427 static int s5h1411_set_mpeg_timing(struct dvb_frontend *fe, int mode) in s5h1411_set_mpeg_timing() argument
429 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_set_mpeg_timing()
457 static int s5h1411_set_spectralinversion(struct dvb_frontend *fe, int inversion) in s5h1411_set_spectralinversion() argument
459 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_set_spectralinversion()
472 static int s5h1411_set_serialmode(struct dvb_frontend *fe, int serial) in s5h1411_set_serialmode() argument
474 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_set_serialmode()
486 static int s5h1411_enable_modulation(struct dvb_frontend *fe, in s5h1411_enable_modulation() argument
489 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_enable_modulation()
502 s5h1411_set_if_freq(fe, state->config->vsb_if); in s5h1411_enable_modulation()
511 s5h1411_set_if_freq(fe, state->config->qam_if); in s5h1411_enable_modulation()
524 s5h1411_softreset(fe); in s5h1411_enable_modulation()
529 static int s5h1411_i2c_gate_ctrl(struct dvb_frontend *fe, int enable) in s5h1411_i2c_gate_ctrl() argument
531 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_i2c_gate_ctrl()
541 static int s5h1411_set_gpio(struct dvb_frontend *fe, int enable) in s5h1411_set_gpio() argument
543 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_set_gpio()
557 static int s5h1411_set_powerstate(struct dvb_frontend *fe, int enable) in s5h1411_set_powerstate() argument
559 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_set_powerstate()
567 s5h1411_softreset(fe); in s5h1411_set_powerstate()
573 static int s5h1411_sleep(struct dvb_frontend *fe) in s5h1411_sleep() argument
575 return s5h1411_set_powerstate(fe, 1); in s5h1411_sleep()
578 static int s5h1411_register_reset(struct dvb_frontend *fe) in s5h1411_register_reset() argument
580 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_register_reset()
588 static int s5h1411_set_frontend(struct dvb_frontend *fe) in s5h1411_set_frontend() argument
590 struct dtv_frontend_properties *p = &fe->dtv_property_cache; in s5h1411_set_frontend()
591 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_set_frontend()
595 s5h1411_softreset(fe); in s5h1411_set_frontend()
599 s5h1411_enable_modulation(fe, p->modulation); in s5h1411_set_frontend()
601 if (fe->ops.tuner_ops.set_params) { in s5h1411_set_frontend()
602 if (fe->ops.i2c_gate_ctrl) in s5h1411_set_frontend()
603 fe->ops.i2c_gate_ctrl(fe, 1); in s5h1411_set_frontend()
605 fe->ops.tuner_ops.set_params(fe); in s5h1411_set_frontend()
607 if (fe->ops.i2c_gate_ctrl) in s5h1411_set_frontend()
608 fe->ops.i2c_gate_ctrl(fe, 0); in s5h1411_set_frontend()
613 s5h1411_softreset(fe); in s5h1411_set_frontend()
620 static int s5h1411_init(struct dvb_frontend *fe) in s5h1411_init() argument
622 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_init()
627 s5h1411_set_powerstate(fe, 0); in s5h1411_init()
628 s5h1411_register_reset(fe); in s5h1411_init()
645 s5h1411_set_serialmode(fe, 1); in s5h1411_init()
648 s5h1411_set_serialmode(fe, 0); 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()
654 s5h1411_softreset(fe); in s5h1411_init()
657 s5h1411_i2c_gate_ctrl(fe, 0); in s5h1411_init()
662 static int s5h1411_read_status(struct dvb_frontend *fe, enum fe_status *status) in s5h1411_read_status() argument
664 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_read_status()
705 if (fe->ops.tuner_ops.get_status) { in s5h1411_read_status()
706 if (fe->ops.i2c_gate_ctrl) in s5h1411_read_status()
707 fe->ops.i2c_gate_ctrl(fe, 1); in s5h1411_read_status()
709 fe->ops.tuner_ops.get_status(fe, &tuner_status); in s5h1411_read_status()
711 if (fe->ops.i2c_gate_ctrl) in s5h1411_read_status()
712 fe->ops.i2c_gate_ctrl(fe, 0); in s5h1411_read_status()
724 static int s5h1411_qam256_lookup_snr(struct dvb_frontend *fe, u16 *snr, u16 v) in s5h1411_qam256_lookup_snr() argument
739 static int s5h1411_qam64_lookup_snr(struct dvb_frontend *fe, u16 *snr, u16 v) in s5h1411_qam64_lookup_snr() argument
754 static int s5h1411_vsb_lookup_snr(struct dvb_frontend *fe, u16 *snr, u16 v) in s5h1411_vsb_lookup_snr() argument
770 static int s5h1411_read_snr(struct dvb_frontend *fe, u16 *snr) in s5h1411_read_snr() argument
772 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_read_snr()
779 return s5h1411_qam64_lookup_snr(fe, snr, reg); in s5h1411_read_snr()
782 return s5h1411_qam256_lookup_snr(fe, snr, reg); in s5h1411_read_snr()
786 return s5h1411_vsb_lookup_snr(fe, snr, reg); in s5h1411_read_snr()
794 static int s5h1411_read_signal_strength(struct dvb_frontend *fe, in s5h1411_read_signal_strength() argument
806 int ret = s5h1411_read_snr(fe, &snr); in s5h1411_read_signal_strength()
829 static int s5h1411_read_ucblocks(struct dvb_frontend *fe, u32 *ucblocks) in s5h1411_read_ucblocks() argument
831 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_read_ucblocks()
838 static int s5h1411_read_ber(struct dvb_frontend *fe, u32 *ber) in s5h1411_read_ber() argument
840 return s5h1411_read_ucblocks(fe, ber); in s5h1411_read_ber()
843 static int s5h1411_get_frontend(struct dvb_frontend *fe) in s5h1411_get_frontend() argument
845 struct dtv_frontend_properties *p = &fe->dtv_property_cache; in s5h1411_get_frontend()
846 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_get_frontend()
854 static int s5h1411_get_tune_settings(struct dvb_frontend *fe, in s5h1411_get_tune_settings() argument
861 static void s5h1411_release(struct dvb_frontend *fe) in s5h1411_release() argument
863 struct s5h1411_state *state = fe->demodulator_priv; in s5h1411_release()