Lines Matching refs:fe
72 struct dvb_frontend *fe; member
253 static int xc_load_fw_and_init_tuner(struct dvb_frontend *fe, int force);
254 static int xc5000_is_firmware_loaded(struct dvb_frontend *fe);
256 static int xc5000_tuner_reset(struct dvb_frontend *fe);
307 static int xc5000_tuner_reset(struct dvb_frontend *fe) in xc5000_tuner_reset() argument
309 struct xc5000_priv *priv = fe->tuner_priv; in xc5000_tuner_reset()
314 if (fe->callback) { in xc5000_tuner_reset()
315 ret = fe->callback(((fe->dvb) && (fe->dvb->priv)) ? in xc5000_tuner_reset()
316 fe->dvb->priv : in xc5000_tuner_reset()
363 static int xc_load_i2c_sequence(struct dvb_frontend *fe, const u8 *i2c_sequence) in xc_load_i2c_sequence() argument
365 struct xc5000_priv *priv = fe->tuner_priv; in xc_load_i2c_sequence()
377 result = xc5000_tuner_reset(fe); in xc_load_i2c_sequence()
606 static int xc_set_xtal(struct dvb_frontend *fe) in xc_set_xtal() argument
608 struct xc5000_priv *priv = fe->tuner_priv; in xc_set_xtal()
632 static int xc5000_fwupload(struct dvb_frontend *fe, in xc5000_fwupload() argument
636 struct xc5000_priv *priv = fe->tuner_priv; in xc5000_fwupload()
649 ret = xc_load_i2c_sequence(fe, fw->data); in xc5000_fwupload()
651 ret = xc_set_xtal(fe); in xc5000_fwupload()
719 static int xc5000_tune_digital(struct dvb_frontend *fe) in xc5000_tune_digital() argument
721 struct xc5000_priv *priv = fe->tuner_priv; in xc5000_tune_digital()
723 u32 bw = fe->dtv_property_cache.bandwidth_hz; in xc5000_tune_digital()
762 static int xc5000_set_digital_params(struct dvb_frontend *fe) in xc5000_set_digital_params() argument
765 struct xc5000_priv *priv = fe->tuner_priv; in xc5000_set_digital_params()
766 u32 bw = fe->dtv_property_cache.bandwidth_hz; in xc5000_set_digital_params()
767 u32 freq = fe->dtv_property_cache.frequency; in xc5000_set_digital_params()
768 u32 delsys = fe->dtv_property_cache.delivery_system; in xc5000_set_digital_params()
770 if (xc_load_fw_and_init_tuner(fe, 0) != 0) { in xc5000_set_digital_params()
849 return xc5000_tune_digital(fe); in xc5000_set_digital_params()
852 static int xc5000_is_firmware_loaded(struct dvb_frontend *fe) in xc5000_is_firmware_loaded() argument
854 struct xc5000_priv *priv = fe->tuner_priv; in xc5000_is_firmware_loaded()
871 static void xc5000_config_tv(struct dvb_frontend *fe, in xc5000_config_tv() argument
874 struct xc5000_priv *priv = fe->tuner_priv; in xc5000_config_tv()
931 static int xc5000_set_tv_freq(struct dvb_frontend *fe) in xc5000_set_tv_freq() argument
933 struct xc5000_priv *priv = fe->tuner_priv; in xc5000_set_tv_freq()
968 if (xc_load_fw_and_init_tuner(fe, 1) != 0) { in xc5000_set_tv_freq()
979 static int xc5000_config_radio(struct dvb_frontend *fe, in xc5000_config_radio() argument
983 struct xc5000_priv *priv = fe->tuner_priv; in xc5000_config_radio()
999 static int xc5000_set_radio_freq(struct dvb_frontend *fe) in xc5000_set_radio_freq() argument
1001 struct xc5000_priv *priv = fe->tuner_priv; in xc5000_set_radio_freq()
1044 static int xc5000_set_params(struct dvb_frontend *fe) in xc5000_set_params() argument
1046 struct xc5000_priv *priv = fe->tuner_priv; in xc5000_set_params()
1048 if (xc_load_fw_and_init_tuner(fe, 0) != 0) { in xc5000_set_params()
1055 return xc5000_set_radio_freq(fe); in xc5000_set_params()
1057 return xc5000_set_tv_freq(fe); in xc5000_set_params()
1059 return xc5000_tune_digital(fe); in xc5000_set_params()
1065 static int xc5000_set_analog_params(struct dvb_frontend *fe, in xc5000_set_analog_params() argument
1068 struct xc5000_priv *priv = fe->tuner_priv; in xc5000_set_analog_params()
1076 ret = xc5000_config_radio(fe, params); in xc5000_set_analog_params()
1081 xc5000_config_tv(fe, params); in xc5000_set_analog_params()
1088 return xc5000_set_params(fe); in xc5000_set_analog_params()
1091 static int xc5000_get_frequency(struct dvb_frontend *fe, u32 *freq) in xc5000_get_frequency() argument
1093 struct xc5000_priv *priv = fe->tuner_priv; in xc5000_get_frequency()
1099 static int xc5000_get_if_frequency(struct dvb_frontend *fe, u32 *freq) in xc5000_get_if_frequency() argument
1101 struct xc5000_priv *priv = fe->tuner_priv; in xc5000_get_if_frequency()
1107 static int xc5000_get_bandwidth(struct dvb_frontend *fe, u32 *bw) in xc5000_get_bandwidth() argument
1109 struct xc5000_priv *priv = fe->tuner_priv; in xc5000_get_bandwidth()
1116 static int xc5000_get_status(struct dvb_frontend *fe, u32 *status) in xc5000_get_status() argument
1118 struct xc5000_priv *priv = fe->tuner_priv; in xc5000_get_status()
1130 static int xc_load_fw_and_init_tuner(struct dvb_frontend *fe, int force) in xc_load_fw_and_init_tuner() argument
1132 struct xc5000_priv *priv = fe->tuner_priv; in xc_load_fw_and_init_tuner()
1141 if (!force && xc5000_is_firmware_loaded(fe) == 0) in xc_load_fw_and_init_tuner()
1167 ret = xc5000_fwupload(fe, desired_fw, fw); in xc_load_fw_and_init_tuner()
1250 struct dvb_frontend *fe = priv->fe; in xc5000_do_timer_sleep() local
1258 ret = xc5000_tuner_reset(fe); in xc5000_do_timer_sleep()
1265 static int xc5000_sleep(struct dvb_frontend *fe) in xc5000_sleep() argument
1267 struct xc5000_priv *priv = fe->tuner_priv; in xc5000_sleep()
1281 static int xc5000_suspend(struct dvb_frontend *fe) in xc5000_suspend() argument
1283 struct xc5000_priv *priv = fe->tuner_priv; in xc5000_suspend()
1290 ret = xc5000_tuner_reset(fe); in xc5000_suspend()
1299 static int xc5000_resume(struct dvb_frontend *fe) in xc5000_resume() argument
1301 struct xc5000_priv *priv = fe->tuner_priv; in xc5000_resume()
1310 return xc5000_set_params(fe); in xc5000_resume()
1313 static int xc5000_init(struct dvb_frontend *fe) in xc5000_init() argument
1315 struct xc5000_priv *priv = fe->tuner_priv; in xc5000_init()
1318 if (xc_load_fw_and_init_tuner(fe, 0) != 0) { in xc5000_init()
1329 static int xc5000_release(struct dvb_frontend *fe) in xc5000_release() argument
1331 struct xc5000_priv *priv = fe->tuner_priv; in xc5000_release()
1348 fe->tuner_priv = NULL; in xc5000_release()
1353 static int xc5000_set_config(struct dvb_frontend *fe, void *priv_cfg) in xc5000_set_config() argument
1355 struct xc5000_priv *priv = fe->tuner_priv; in xc5000_set_config()
1396 struct dvb_frontend *xc5000_attach(struct dvb_frontend *fe, in xc5000_attach() argument
1419 fe->tuner_priv = priv; in xc5000_attach()
1420 priv->fe = fe; in xc5000_attach()
1425 fe->tuner_priv = priv; in xc5000_attach()
1485 memcpy(&fe->ops.tuner_ops, &xc5000_tuner_ops, in xc5000_attach()
1488 return fe; in xc5000_attach()
1492 xc5000_release(fe); in xc5000_attach()