Lines Matching refs:fe
93 struct dvb_frontend *fe[MAX_NUMBER_OF_FRONTENDS]; member
378 switch (state->fe[0]->dtv_property_cache.transmission_mode) { in fft_to_mode()
401 static int dib8000_set_output_mode(struct dvb_frontend *fe, int mode) in dib8000_set_output_mode() argument
403 struct dib8000_state *state = fe->demodulator_priv; in dib8000_set_output_mode()
412 &state->fe[0], mode); in dib8000_set_output_mode()
447 &state->fe[0]); in dib8000_set_output_mode()
462 static int dib8000_set_diversity_in(struct dvb_frontend *fe, int onoff) in dib8000_set_diversity_in() argument
464 struct dib8000_state *state = fe->demodulator_priv; in dib8000_set_diversity_in()
613 static int dib8000_set_bandwidth(struct dvb_frontend *fe, u32 bw) in dib8000_set_bandwidth() argument
615 struct dib8000_state *state = fe->demodulator_priv; in dib8000_set_bandwidth()
659 static int dib8000_set_wbd_ref(struct dvb_frontend *fe, u16 value) in dib8000_set_wbd_ref() argument
661 struct dib8000_state *state = fe->demodulator_priv; in dib8000_set_wbd_ref()
741 static int dib8000_update_pll(struct dvb_frontend *fe, in dib8000_update_pll() argument
744 struct dib8000_state *state = fe->demodulator_priv; in dib8000_update_pll()
849 static int dib8000_set_gpio(struct dvb_frontend *fe, u8 num, u8 dir, u8 val) in dib8000_set_gpio() argument
851 struct dib8000_state *state = fe->demodulator_priv; in dib8000_set_gpio()
989 static int dib8000_read_unc_blocks(struct dvb_frontend *fe, u32 *unc);
991 static void dib8000_reset_stats(struct dvb_frontend *fe) in dib8000_reset_stats() argument
993 struct dib8000_state *state = fe->demodulator_priv; in dib8000_reset_stats()
994 struct dtv_frontend_properties *c = &state->fe[0]->dtv_property_cache; in dib8000_reset_stats()
1019 dib8000_read_unc_blocks(fe, &ucb); in dib8000_reset_stats()
1028 static int dib8000_reset(struct dvb_frontend *fe) in dib8000_reset() argument
1030 struct dib8000_state *state = fe->demodulator_priv; in dib8000_reset()
1086 (dib8000_set_output_mode(fe, OUTMODE_HIGH_Z) != 0)) in dib8000_reset()
1122 dib8000_set_bandwidth(fe, 6000); in dib8000_reset()
1134 dib8000_reset_stats(fe); in dib8000_reset()
1154 if (state->cfg.update_lna(state->fe[0], dyn_gain)) { in dib8000_update_lna()
1228 static void dib8000_pwm_agc_reset(struct dvb_frontend *fe) in dib8000_pwm_agc_reset() argument
1230 struct dib8000_state *state = fe->demodulator_priv; in dib8000_pwm_agc_reset()
1232 …dib8000_set_agc_config(state, (unsigned char)(BAND_OF_FREQUENCY(fe->dtv_property_cache.frequency /… in dib8000_pwm_agc_reset()
1261 static int dib8000_agc_startup(struct dvb_frontend *fe) in dib8000_agc_startup() argument
1263 struct dib8000_state *state = fe->demodulator_priv; in dib8000_agc_startup()
1291 …if (dib8000_set_agc_config(state, (unsigned char)(BAND_OF_FREQUENCY(fe->dtv_property_cache.frequen… in dib8000_agc_startup()
1304 state->cfg.agc_control(fe, 1); in dib8000_agc_startup()
1328 state->cfg.agc_control(fe, 0); in dib8000_agc_startup()
1522 static int dib8096p_set_diversity_in(struct dvb_frontend *fe, int onoff) in dib8096p_set_diversity_in() argument
1524 struct dib8000_state *state = fe->demodulator_priv; in dib8096p_set_diversity_in()
1553 dib8000_set_diversity_in(state->fe[0], onoff); in dib8096p_set_diversity_in()
1557 static int dib8096p_set_output_mode(struct dvb_frontend *fe, int mode) in dib8096p_set_output_mode() argument
1559 struct dib8000_state *state = fe->demodulator_priv; in dib8096p_set_output_mode()
1881 static struct i2c_adapter *dib8096p_get_i2c_tuner(struct dvb_frontend *fe) in dib8096p_get_i2c_tuner() argument
1883 struct dib8000_state *st = fe->demodulator_priv; in dib8096p_get_i2c_tuner()
1887 static int dib8096p_tuner_sleep(struct dvb_frontend *fe, int onoff) in dib8096p_tuner_sleep() argument
1889 struct dib8000_state *state = fe->demodulator_priv; in dib8096p_tuner_sleep()
1917 static s32 dib8000_get_adc_power(struct dvb_frontend *fe, u8 mode) in dib8000_get_adc_power() argument
1919 struct dib8000_state *state = fe->demodulator_priv; in dib8000_get_adc_power()
1936 static int dib8090p_get_dc_power(struct dvb_frontend *fe, u8 IQ) in dib8090p_get_dc_power() argument
1938 struct dib8000_state *state = fe->demodulator_priv; in dib8090p_get_dc_power()
1964 static u32 dib8000_ctrl_timf(struct dvb_frontend *fe, uint8_t op, uint32_t timf) in dib8000_ctrl_timf() argument
1966 struct dib8000_state *state = fe->demodulator_priv; in dib8000_ctrl_timf()
1978 dib8000_set_bandwidth(state->fe[0], 6000); in dib8000_ctrl_timf()
1992 struct dtv_frontend_properties *c = &state->fe[0]->dtv_property_cache; in dib8000_set_layer()
2123 switch (state->fe[0]->dtv_property_cache.transmission_mode) { in dib8000_get_init_prbs()
2186 struct dtv_frontend_properties *c = &state->fe[0]->dtv_property_cache; in dib8000_small_fine_tune()
2270 struct dtv_frontend_properties *c = &state->fe[0]->dtv_property_cache; in dib8000_set_sb_channel()
2345 struct dtv_frontend_properties *c = &state->fe[0]->dtv_property_cache; in dib8000_set_isdbt_common_channel()
2488 static int dib8000_autosearch_start(struct dvb_frontend *fe) in dib8000_autosearch_start() argument
2490 struct dib8000_state *state = fe->demodulator_priv; in dib8000_autosearch_start()
2491 struct dtv_frontend_properties *c = &state->fe[0]->dtv_property_cache; in dib8000_autosearch_start()
2633 static int dib8000_autosearch_irq(struct dvb_frontend *fe) in dib8000_autosearch_irq() argument
2635 struct dib8000_state *state = fe->demodulator_priv; in dib8000_autosearch_irq()
2714 struct dtv_frontend_properties *c = &state->fe[0]->dtv_property_cache; in dib8000_set_frequency_offset()
2719 if (state->fe[0]->ops.tuner_ops.get_frequency) in dib8000_set_frequency_offset()
2720 state->fe[0]->ops.tuner_ops.get_frequency(state->fe[0], ¤t_rf); in dib8000_set_frequency_offset()
2751 struct dtv_frontend_properties *c = &state->fe[0]->dtv_property_cache; in dib8000_get_symbol_duration()
2773 struct dtv_frontend_properties *c = &state->fe[0]->dtv_property_cache; in dib8000_set_isdbt_loop_params()
2819 struct dtv_frontend_properties *c = &state->fe[0]->dtv_property_cache; in dib8000_set_sync_wait()
2852 static s32 dib8000_get_status(struct dvb_frontend *fe) in dib8000_get_status() argument
2854 struct dib8000_state *state = fe->demodulator_priv; in dib8000_get_status()
2858 static enum frontend_tune_state dib8000_get_tune_state(struct dvb_frontend *fe) in dib8000_get_tune_state() argument
2860 struct dib8000_state *state = fe->demodulator_priv; in dib8000_get_tune_state()
2864 static int dib8000_set_tune_state(struct dvb_frontend *fe, enum frontend_tune_state tune_state) in dib8000_set_tune_state() argument
2866 struct dib8000_state *state = fe->demodulator_priv; in dib8000_set_tune_state()
2872 static int dib8000_tune_restart_from_demod(struct dvb_frontend *fe) in dib8000_tune_restart_from_demod() argument
2874 struct dib8000_state *state = fe->demodulator_priv; in dib8000_tune_restart_from_demod()
2881 static u16 dib8000_read_lock(struct dvb_frontend *fe) in dib8000_read_lock() argument
2883 struct dib8000_state *state = fe->demodulator_priv; in dib8000_read_lock()
2992 static int dib8000_tune(struct dvb_frontend *fe) in dib8000_tune() argument
2994 struct dib8000_state *state = fe->demodulator_priv; in dib8000_tune()
2995 struct dtv_frontend_properties *c = &state->fe[0]->dtv_property_cache; in dib8000_tune()
3018 dib8000_reset_stats(fe); in dib8000_tune()
3034 dib8000_set_bandwidth(fe, c->bandwidth_hz / 1000); in dib8000_tune()
3063 dib8000_autosearch_start(fe); in dib8000_tune()
3072 switch (dib8000_autosearch_irq(fe)) { in dib8000_tune()
3163 dib8000_set_diversity_in(state->fe[0], state->diversity_onoff); in dib8000_tune()
3172 locks = dib8000_read_lock(fe); in dib8000_tune()
3188 if ((state->fe[1] != NULL) && (state->output_mode != OUTMODE_DIVERSITY)) { in dib8000_tune()
3190 …if (dib8000_get_status(state->fe[1]) <= FE_STATUS_STD_SUCCESS) /* Something is locked on the input… in dib8000_tune()
3192 …else if (dib8000_get_status(state->fe[1]) >= FE_STATUS_TUNE_TIME_TOO_SHORT) { /* fe in input faill… in dib8000_tune()
3207 locks = dib8000_read_lock(fe); in dib8000_tune()
3264 locks = dib8000_read_lock(fe); in dib8000_tune()
3342 static int dib8000_wakeup(struct dvb_frontend *fe) in dib8000_wakeup() argument
3344 struct dib8000_state *state = fe->demodulator_priv; in dib8000_wakeup()
3356 …for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib8000_wakeup()
3357 ret = state->fe[index_frontend]->ops.init(state->fe[index_frontend]); in dib8000_wakeup()
3365 static int dib8000_sleep(struct dvb_frontend *fe) in dib8000_sleep() argument
3367 struct dib8000_state *state = fe->demodulator_priv; in dib8000_sleep()
3371 …for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib8000_sleep()
3372 ret = state->fe[index_frontend]->ops.sleep(state->fe[index_frontend]); in dib8000_sleep()
3378 dib8000_set_output_mode(fe, OUTMODE_HIGH_Z); in dib8000_sleep()
3383 static int dib8000_read_status(struct dvb_frontend *fe, enum fe_status *stat);
3385 static int dib8000_get_frontend(struct dvb_frontend *fe) in dib8000_get_frontend() argument
3387 struct dib8000_state *state = fe->demodulator_priv; in dib8000_get_frontend()
3392 fe->dtv_property_cache.bandwidth_hz = 6000000; in dib8000_get_frontend()
3399 dib8000_read_status(fe, &stat); in dib8000_get_frontend()
3404 …for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib8000_get_frontend()
3405 state->fe[index_frontend]->ops.read_status(state->fe[index_frontend], &stat); in dib8000_get_frontend()
3409 state->fe[index_frontend]->ops.get_frontend(state->fe[index_frontend]); in dib8000_get_frontend()
3410 …for (sub_index_frontend = 0; (sub_index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[sub_inde… in dib8000_get_frontend()
3412 …state->fe[sub_index_frontend]->dtv_property_cache.isdbt_sb_mode = state->fe[index_frontend]->dtv_p… in dib8000_get_frontend()
3413 …state->fe[sub_index_frontend]->dtv_property_cache.inversion = state->fe[index_frontend]->dtv_prope… in dib8000_get_frontend()
3414 …state->fe[sub_index_frontend]->dtv_property_cache.transmission_mode = state->fe[index_frontend]->d… in dib8000_get_frontend()
3415 …state->fe[sub_index_frontend]->dtv_property_cache.guard_interval = state->fe[index_frontend]->dtv_… in dib8000_get_frontend()
3416 …state->fe[sub_index_frontend]->dtv_property_cache.isdbt_partial_reception = state->fe[index_fronte… in dib8000_get_frontend()
3418 …state->fe[sub_index_frontend]->dtv_property_cache.layer[i].segment_count = state->fe[index_fronten… in dib8000_get_frontend()
3419 …state->fe[sub_index_frontend]->dtv_property_cache.layer[i].interleaving = state->fe[index_frontend… in dib8000_get_frontend()
3420 …state->fe[sub_index_frontend]->dtv_property_cache.layer[i].fec = state->fe[index_frontend]->dtv_pr… in dib8000_get_frontend()
3421 …state->fe[sub_index_frontend]->dtv_property_cache.layer[i].modulation = state->fe[index_frontend]-… in dib8000_get_frontend()
3429 fe->dtv_property_cache.isdbt_sb_mode = dib8000_read_word(state, 508) & 0x1; in dib8000_get_frontend()
3435 fe->dtv_property_cache.inversion = (val & 0x40) >> 6; in dib8000_get_frontend()
3438 fe->dtv_property_cache.transmission_mode = TRANSMISSION_MODE_2K; in dib8000_get_frontend()
3442 fe->dtv_property_cache.transmission_mode = TRANSMISSION_MODE_4K; in dib8000_get_frontend()
3447 fe->dtv_property_cache.transmission_mode = TRANSMISSION_MODE_8K; in dib8000_get_frontend()
3454 fe->dtv_property_cache.guard_interval = GUARD_INTERVAL_1_32; in dib8000_get_frontend()
3458 fe->dtv_property_cache.guard_interval = GUARD_INTERVAL_1_16; in dib8000_get_frontend()
3463 fe->dtv_property_cache.guard_interval = GUARD_INTERVAL_1_8; in dib8000_get_frontend()
3467 fe->dtv_property_cache.guard_interval = GUARD_INTERVAL_1_4; in dib8000_get_frontend()
3472 fe->dtv_property_cache.isdbt_partial_reception = val & 1; in dib8000_get_frontend()
3473 …dprintk("dib8000_get_frontend: partial_reception = %d ", fe->dtv_property_cache.isdbt_partial_rece… in dib8000_get_frontend()
3479 fe->dtv_property_cache.layer[i].segment_count = val; in dib8000_get_frontend()
3488 i, fe->dtv_property_cache.layer[i].segment_count); in dib8000_get_frontend()
3494 fe->dtv_property_cache.layer[i].interleaving = val; in dib8000_get_frontend()
3497 i, fe->dtv_property_cache.layer[i].interleaving); in dib8000_get_frontend()
3502 fe->dtv_property_cache.layer[i].fec = FEC_1_2; in dib8000_get_frontend()
3507 fe->dtv_property_cache.layer[i].fec = FEC_2_3; in dib8000_get_frontend()
3512 fe->dtv_property_cache.layer[i].fec = FEC_3_4; in dib8000_get_frontend()
3517 fe->dtv_property_cache.layer[i].fec = FEC_5_6; in dib8000_get_frontend()
3522 fe->dtv_property_cache.layer[i].fec = FEC_7_8; in dib8000_get_frontend()
3531 fe->dtv_property_cache.layer[i].modulation = DQPSK; in dib8000_get_frontend()
3536 fe->dtv_property_cache.layer[i].modulation = QPSK; in dib8000_get_frontend()
3541 fe->dtv_property_cache.layer[i].modulation = QAM_16; in dib8000_get_frontend()
3547 fe->dtv_property_cache.layer[i].modulation = QAM_64; in dib8000_get_frontend()
3555 …for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib8000_get_frontend()
3556 …state->fe[index_frontend]->dtv_property_cache.isdbt_sb_mode = fe->dtv_property_cache.isdbt_sb_mode; in dib8000_get_frontend()
3557 state->fe[index_frontend]->dtv_property_cache.inversion = fe->dtv_property_cache.inversion; in dib8000_get_frontend()
3558 …state->fe[index_frontend]->dtv_property_cache.transmission_mode = fe->dtv_property_cache.transmiss… in dib8000_get_frontend()
3559 …state->fe[index_frontend]->dtv_property_cache.guard_interval = fe->dtv_property_cache.guard_interv… in dib8000_get_frontend()
3560 …state->fe[index_frontend]->dtv_property_cache.isdbt_partial_reception = fe->dtv_property_cache.isd… in dib8000_get_frontend()
3562 …state->fe[index_frontend]->dtv_property_cache.layer[i].segment_count = fe->dtv_property_cache.laye… in dib8000_get_frontend()
3563 …state->fe[index_frontend]->dtv_property_cache.layer[i].interleaving = fe->dtv_property_cache.layer… in dib8000_get_frontend()
3564 state->fe[index_frontend]->dtv_property_cache.layer[i].fec = fe->dtv_property_cache.layer[i].fec; in dib8000_get_frontend()
3565 …state->fe[index_frontend]->dtv_property_cache.layer[i].modulation = fe->dtv_property_cache.layer[i… in dib8000_get_frontend()
3571 static int dib8000_set_frontend(struct dvb_frontend *fe) in dib8000_set_frontend() argument
3573 struct dib8000_state *state = fe->demodulator_priv; in dib8000_set_frontend()
3574 struct dtv_frontend_properties *c = &state->fe[0]->dtv_property_cache; in dib8000_set_frontend()
3589 …for (index_frontend = 0; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib8000_set_frontend()
3591 state->fe[index_frontend]->dtv_property_cache.delivery_system = SYS_ISDBT; in dib8000_set_frontend()
3592 …memcpy(&state->fe[index_frontend]->dtv_property_cache, &fe->dtv_property_cache, sizeof(struct dtv_… in dib8000_set_frontend()
3596 dib8000_set_diversity_in(state->fe[index_frontend], 1); in dib8000_set_frontend()
3598 dib8000_set_output_mode(state->fe[index_frontend], in dib8000_set_frontend()
3601 dib8000_set_output_mode(state->fe[0], OUTMODE_HIGH_Z); in dib8000_set_frontend()
3603 dib8096p_set_diversity_in(state->fe[index_frontend], 1); in dib8000_set_frontend()
3605 dib8096p_set_output_mode(state->fe[index_frontend], in dib8000_set_frontend()
3608 dib8096p_set_output_mode(state->fe[0], OUTMODE_HIGH_Z); in dib8000_set_frontend()
3612 if (state->fe[index_frontend]->ops.tuner_ops.set_params) in dib8000_set_frontend()
3613 state->fe[index_frontend]->ops.tuner_ops.set_params(state->fe[index_frontend]); in dib8000_set_frontend()
3615 dib8000_set_tune_state(state->fe[index_frontend], CT_AGC_START); in dib8000_set_frontend()
3620 dib8000_set_diversity_in(state->fe[index_frontend - 1], 0); in dib8000_set_frontend()
3622 dib8096p_set_diversity_in(state->fe[index_frontend - 1], 0); in dib8000_set_frontend()
3626 time = dib8000_agc_startup(state->fe[0]); in dib8000_set_frontend()
3627 …for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib8000_set_frontend()
3628 time_slave = dib8000_agc_startup(state->fe[index_frontend]); in dib8000_set_frontend()
3648 …for (index_frontend = 0; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib8000_set_frontend()
3649 if (dib8000_get_tune_state(state->fe[index_frontend]) != CT_AGC_STOP) { in dib8000_set_frontend()
3656 …for (index_frontend = 0; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib8000_set_frontend()
3657 dib8000_set_tune_state(state->fe[index_frontend], CT_DEMOD_START); in dib8000_set_frontend()
3662 …for (index_frontend = 0; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib8000_set_frontend()
3663 delay = dib8000_tune(state->fe[index_frontend]); in dib8000_set_frontend()
3672 …if ((dib8000_get_status(state->fe[index_frontend]) == FE_STATUS_DEMOD_SUCCESS) || (dib8000_get_sta… in dib8000_set_frontend()
3674 …dib8000_get_frontend(state->fe[index_frontend]); /* we read the channel parameters from the fronte… in dib8000_set_frontend()
3677 for (l = 0; (l < MAX_NUMBER_OF_FRONTENDS) && (state->fe[l] != NULL); l++) { in dib8000_set_frontend()
3680 dib8000_tune_restart_from_demod(state->fe[l]); in dib8000_set_frontend()
3682 …state->fe[l]->dtv_property_cache.isdbt_sb_mode = state->fe[index_frontend]->dtv_property_cache.isd… in dib8000_set_frontend()
3683 …state->fe[l]->dtv_property_cache.inversion = state->fe[index_frontend]->dtv_property_cache.inversi… in dib8000_set_frontend()
3684 …state->fe[l]->dtv_property_cache.transmission_mode = state->fe[index_frontend]->dtv_property_cache… in dib8000_set_frontend()
3685 …state->fe[l]->dtv_property_cache.guard_interval = state->fe[index_frontend]->dtv_property_cache.gu… in dib8000_set_frontend()
3686 …state->fe[l]->dtv_property_cache.isdbt_partial_reception = state->fe[index_frontend]->dtv_property… in dib8000_set_frontend()
3688 …state->fe[l]->dtv_property_cache.layer[i].segment_count = state->fe[index_frontend]->dtv_property_… in dib8000_set_frontend()
3689 …state->fe[l]->dtv_property_cache.layer[i].interleaving = state->fe[index_frontend]->dtv_property_c… in dib8000_set_frontend()
3690 …state->fe[l]->dtv_property_cache.layer[i].fec = state->fe[index_frontend]->dtv_property_cache.laye… in dib8000_set_frontend()
3691 …state->fe[l]->dtv_property_cache.layer[i].modulation = state->fe[index_frontend]->dtv_property_cac… in dib8000_set_frontend()
3700 if (dib8000_get_status(state->fe[0]) == FE_STATUS_TUNE_FAILED || in dib8000_set_frontend()
3701 dib8000_get_status(state->fe[0]) == FE_STATUS_LOCKED || in dib8000_set_frontend()
3702 dib8000_get_status(state->fe[0]) == FE_STATUS_DATA_LOCKED) { in dib8000_set_frontend()
3705 …for (index_frontend = 0; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib8000_set_frontend()
3706 if (dib8000_get_tune_state(state->fe[index_frontend]) != CT_DEMOD_STOP) in dib8000_set_frontend()
3710 dprintk("tuning done with status %d", dib8000_get_status(state->fe[0])); in dib8000_set_frontend()
3724 dib8000_set_output_mode(state->fe[0], state->cfg.output_mode); in dib8000_set_frontend()
3726 dib8096p_set_output_mode(state->fe[0], state->cfg.output_mode); in dib8000_set_frontend()
3736 static int dib8000_get_stats(struct dvb_frontend *fe, enum fe_status stat);
3738 static int dib8000_read_status(struct dvb_frontend *fe, enum fe_status *stat) in dib8000_read_status() argument
3740 struct dib8000_state *state = fe->demodulator_priv; in dib8000_read_status()
3744 lock = dib8000_read_lock(fe); in dib8000_read_status()
3745 …for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib8000_read_status()
3746 lock_slave |= dib8000_read_lock(state->fe[index_frontend]); in dib8000_read_status()
3775 dib8000_get_stats(fe, *stat); in dib8000_read_status()
3780 static int dib8000_read_ber(struct dvb_frontend *fe, u32 * ber) in dib8000_read_ber() argument
3782 struct dib8000_state *state = fe->demodulator_priv; in dib8000_read_ber()
3794 static int dib8000_read_unc_blocks(struct dvb_frontend *fe, u32 * unc) in dib8000_read_unc_blocks() argument
3796 struct dib8000_state *state = fe->demodulator_priv; in dib8000_read_unc_blocks()
3806 static int dib8000_read_signal_strength(struct dvb_frontend *fe, u16 * strength) in dib8000_read_signal_strength() argument
3808 struct dib8000_state *state = fe->demodulator_priv; in dib8000_read_signal_strength()
3813 …for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib8000_read_signal_strength()
3814 state->fe[index_frontend]->ops.read_signal_strength(state->fe[index_frontend], &val); in dib8000_read_signal_strength()
3829 static u32 dib8000_get_snr(struct dvb_frontend *fe) in dib8000_get_snr() argument
3831 struct dib8000_state *state = fe->demodulator_priv; in dib8000_get_snr()
3862 static int dib8000_read_snr(struct dvb_frontend *fe, u16 * snr) in dib8000_read_snr() argument
3864 struct dib8000_state *state = fe->demodulator_priv; in dib8000_read_snr()
3868 snr_master = dib8000_get_snr(fe); in dib8000_read_snr()
3869 …for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib8000_read_snr()
3870 snr_master += dib8000_get_snr(state->fe[index_frontend]); in dib8000_read_snr()
3978 static u32 dib8000_get_time_us(struct dvb_frontend *fe, int layer) in dib8000_get_time_us() argument
3980 struct dib8000_state *state = fe->demodulator_priv; in dib8000_get_time_us()
3981 struct dtv_frontend_properties *c = &state->fe[0]->dtv_property_cache; in dib8000_get_time_us()
4092 static int dib8000_get_stats(struct dvb_frontend *fe, enum fe_status stat) in dib8000_get_stats() argument
4094 struct dib8000_state *state = fe->demodulator_priv; in dib8000_get_stats()
4095 struct dtv_frontend_properties *c = &state->fe[0]->dtv_property_cache; in dib8000_get_stats()
4104 dib8000_read_signal_strength(fe, &strength); in dib8000_get_stats()
4131 snr = dib8000_get_snr(fe); in dib8000_get_stats()
4133 if (state->fe[i]) in dib8000_get_stats()
4134 snr += dib8000_get_snr(state->fe[i]); in dib8000_get_stats()
4148 dib8000_read_unc_blocks(fe, &val); in dib8000_get_stats()
4157 time_us = dib8000_get_time_us(fe, -1); in dib8000_get_stats()
4171 time_us = dib8000_get_time_us(fe, -1); in dib8000_get_stats()
4176 dib8000_read_ber(fe, &val); in dib8000_get_stats()
4200 time_us = dib8000_get_time_us(fe, i); in dib8000_get_stats()
4221 time_us = dib8000_get_time_us(fe, i); in dib8000_get_stats()
4233 static int dib8000_set_slave_frontend(struct dvb_frontend *fe, struct dvb_frontend *fe_slave) in dib8000_set_slave_frontend() argument
4235 struct dib8000_state *state = fe->demodulator_priv; in dib8000_set_slave_frontend()
4238 while ((index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL)) in dib8000_set_slave_frontend()
4242 state->fe[index_frontend] = fe_slave; in dib8000_set_slave_frontend()
4250 static int dib8000_remove_slave_frontend(struct dvb_frontend *fe) in dib8000_remove_slave_frontend() argument
4252 struct dib8000_state *state = fe->demodulator_priv; in dib8000_remove_slave_frontend()
4255 while ((index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL)) in dib8000_remove_slave_frontend()
4258 dprintk("remove slave fe %p (index %i)", state->fe[index_frontend-1], index_frontend-1); in dib8000_remove_slave_frontend()
4259 state->fe[index_frontend] = NULL; in dib8000_remove_slave_frontend()
4267 static struct dvb_frontend *dib8000_get_slave_frontend(struct dvb_frontend *fe, int slave_index) in dib8000_get_slave_frontend() argument
4269 struct dib8000_state *state = fe->demodulator_priv; in dib8000_get_slave_frontend()
4273 return state->fe[slave_index]; in dib8000_get_slave_frontend()
4353 static int dib8000_fe_get_tune_settings(struct dvb_frontend *fe, struct dvb_frontend_tune_settings … in dib8000_fe_get_tune_settings() argument
4361 static void dib8000_release(struct dvb_frontend *fe) in dib8000_release() argument
4363 struct dib8000_state *st = fe->demodulator_priv; in dib8000_release()
4366 …for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (st->fe[index_frontend] != … in dib8000_release()
4367 dvb_frontend_detach(st->fe[index_frontend]); in dib8000_release()
4371 kfree(st->fe[0]); in dib8000_release()
4375 static struct i2c_adapter *dib8000_get_i2c_master(struct dvb_frontend *fe, enum dibx000_i2c_interfa… in dib8000_get_i2c_master() argument
4377 struct dib8000_state *st = fe->demodulator_priv; in dib8000_get_i2c_master()
4381 static int dib8000_pid_filter_ctrl(struct dvb_frontend *fe, u8 onoff) in dib8000_pid_filter_ctrl() argument
4383 struct dib8000_state *st = fe->demodulator_priv; in dib8000_pid_filter_ctrl()
4391 static int dib8000_pid_filter(struct dvb_frontend *fe, u8 id, u16 pid, u8 onoff) in dib8000_pid_filter() argument
4393 struct dib8000_state *st = fe->demodulator_priv; in dib8000_pid_filter()
4430 struct dvb_frontend *fe; in dib8000_init() local
4438 fe = kzalloc(sizeof(struct dvb_frontend), GFP_KERNEL); in dib8000_init()
4439 if (fe == NULL) in dib8000_init()
4458 state->fe[0] = fe; in dib8000_init()
4459 fe->demodulator_priv = state; in dib8000_init()
4460 memcpy(&state->fe[0]->ops, &dib8000_ops, sizeof(struct dvb_frontend_ops)); in dib8000_init()
4478 dib8000_reset(fe); in dib8000_init()
4483 return fe; in dib8000_init()