Lines Matching refs:internal
61 struct stb0899_internal *internal = &state->internal;
66 return stb0899_calc_srate(internal->master_clk, sfr);
133 struct stb0899_internal *internal = &state->internal; in stb0899_carr_width() local
135 return (internal->srate + (internal->srate * internal->rolloff) / 100); in stb0899_carr_width()
144 struct stb0899_internal *internal = &state->internal; in stb0899_first_subrange() local
159 internal->sub_range = min(internal->srch_range, range); in stb0899_first_subrange()
161 internal->sub_range = 0; in stb0899_first_subrange()
163 internal->freq = params->freq; in stb0899_first_subrange()
164 internal->tuner_offst = 0L; in stb0899_first_subrange()
165 internal->sub_dir = 1; in stb0899_first_subrange()
175 struct stb0899_internal *internal = &state->internal; in stb0899_check_tmg() local
180 msleep(internal->t_derot); in stb0899_check_tmg()
189 internal->status = ANALOGCARRIER; in stb0899_check_tmg()
192 internal->status = TIMINGOK; in stb0899_check_tmg()
196 internal->status = NOTIMING; in stb0899_check_tmg()
199 return internal->status; in stb0899_check_tmg()
208 struct stb0899_internal *internal = &state->internal; in stb0899_search_tmg() local
215 internal->status = NOTIMING; in stb0899_search_tmg()
218 derot_limit = (internal->sub_range / 2L) / internal->mclk; in stb0899_search_tmg()
219 derot_step = (params->srate / 2L) / internal->mclk; in stb0899_search_tmg()
223 derot_freq += index * internal->direction * derot_step; /* next derot zig zag position */ in stb0899_search_tmg()
229 STB0899_SETFIELD_VAL(CFRM, cfr[0], MSB(internal->inversion * derot_freq)); in stb0899_search_tmg()
230 STB0899_SETFIELD_VAL(CFRL, cfr[1], LSB(internal->inversion * derot_freq)); in stb0899_search_tmg()
233 internal->direction = -internal->direction; /* Change zigzag direction */ in stb0899_search_tmg()
236 if (internal->status == TIMINGOK) { in stb0899_search_tmg()
238 internal->derot_freq = internal->inversion * MAKEWORD16(cfr[0], cfr[1]); in stb0899_search_tmg()
239 dprintk(state->verbose, FE_DEBUG, 1, "------->TIMING OK ! Derot Freq = %d", internal->derot_freq); in stb0899_search_tmg()
242 return internal->status; in stb0899_search_tmg()
251 struct stb0899_internal *internal = &state->internal; in stb0899_check_carrier() local
254 msleep(internal->t_derot); /* wait for derotator ok */ in stb0899_check_carrier()
263 internal->status = CARRIEROK; in stb0899_check_carrier()
266 internal->status = NOCARRIER; in stb0899_check_carrier()
270 return internal->status; in stb0899_check_carrier()
279 struct stb0899_internal *internal = &state->internal; in stb0899_search_carrier() local
286 internal->status = NOCARRIER; in stb0899_search_carrier()
287 derot_limit = (internal->sub_range / 2L) / internal->mclk; in stb0899_search_carrier()
288 derot_freq = internal->derot_freq; in stb0899_search_carrier()
295 dprintk(state->verbose, FE_DEBUG, 1, "Derot Freq=%d, mclk=%d", derot_freq, internal->mclk); in stb0899_search_carrier()
299 …derot_freq += index * internal->direction * internal->derot_step; /* next zig zag derotator positi… in stb0899_search_carrier()
309 STB0899_SETFIELD_VAL(CFRM, cfr[0], MSB(internal->inversion * derot_freq)); in stb0899_search_carrier()
310 STB0899_SETFIELD_VAL(CFRL, cfr[1], LSB(internal->inversion * derot_freq)); in stb0899_search_carrier()
315 internal->direction = -internal->direction; /* Change zigzag direction */ in stb0899_search_carrier()
316 } while ((internal->status != CARRIEROK) && next_loop); in stb0899_search_carrier()
318 if (internal->status == CARRIEROK) { in stb0899_search_carrier()
320 internal->derot_freq = internal->inversion * MAKEWORD16(cfr[0], cfr[1]); in stb0899_search_carrier()
321 dprintk(state->verbose, FE_DEBUG, 1, "----> CARRIER OK !, Derot Freq=%d", internal->derot_freq); in stb0899_search_carrier()
323 internal->derot_freq = last_derot_freq; in stb0899_search_carrier()
326 return internal->status; in stb0899_search_carrier()
335 struct stb0899_internal *internal = &state->internal; in stb0899_check_data() local
341 internal->status = NODATA; in stb0899_check_data()
377 internal->status = DATAOK; in stb0899_check_data()
381 return internal->status; in stb0899_check_data()
395 struct stb0899_internal *internal = &state->internal; in stb0899_search_data() local
398 derot_step = (params->srate / 4L) / internal->mclk; in stb0899_search_data()
399 derot_limit = (internal->sub_range / 2L) / internal->mclk; in stb0899_search_data()
400 derot_freq = internal->derot_freq; in stb0899_search_data()
403 if ((internal->status != CARRIEROK) || (stb0899_check_data(state) != DATAOK)) { in stb0899_search_data()
405 derot_freq += index * internal->direction * derot_step; /* next zig zag derotator position */ in stb0899_search_data()
410 dprintk(state->verbose, FE_DEBUG, 1, "Derot freq=%d, mclk=%d", derot_freq, internal->mclk); in stb0899_search_data()
415 STB0899_SETFIELD_VAL(CFRM, cfr[0], MSB(internal->inversion * derot_freq)); in stb0899_search_data()
416 STB0899_SETFIELD_VAL(CFRL, cfr[1], LSB(internal->inversion * derot_freq)); in stb0899_search_data()
423 internal->direction = -internal->direction; /* change zig zag direction */ in stb0899_search_data()
424 } while ((internal->status != DATAOK) && next_loop); in stb0899_search_data()
426 if (internal->status == DATAOK) { in stb0899_search_data()
432 internal->inversion = IQ_SWAP_ON; in stb0899_search_data()
434 internal->inversion = IQ_SWAP_OFF; in stb0899_search_data()
436 internal->derot_freq = internal->inversion * MAKEWORD16(cfr[0], cfr[1]); in stb0899_search_data()
437 dprintk(state->verbose, FE_DEBUG, 1, "------> DATAOK ! Derot Freq=%d", internal->derot_freq); in stb0899_search_data()
440 return internal->status; in stb0899_search_data()
449 struct stb0899_internal *internal = &state->internal; in stb0899_check_range() local
454 range_offst = internal->srch_range / 2000; in stb0899_check_range()
455 tp_freq = internal->freq - (internal->derot_freq * internal->mclk) / 1000; in stb0899_check_range()
458 internal->status = RANGEOK; in stb0899_check_range()
461 internal->status = OUTOFRANGE; in stb0899_check_range()
465 return internal->status; in stb0899_check_range()
474 struct stb0899_internal *internal = &state->internal; in next_sub_range() local
479 if (internal->sub_dir > 0) { in next_sub_range()
480 old_sub_range = internal->sub_range; in next_sub_range()
481 internal->sub_range = min((internal->srch_range / 2) - in next_sub_range()
482 (internal->tuner_offst + internal->sub_range / 2), in next_sub_range()
483 internal->sub_range); in next_sub_range()
485 if (internal->sub_range < 0) in next_sub_range()
486 internal->sub_range = 0; in next_sub_range()
488 internal->tuner_offst += (old_sub_range + internal->sub_range) / 2; in next_sub_range()
491 internal->freq = params->freq + (internal->sub_dir * internal->tuner_offst) / 1000; in next_sub_range()
492 internal->sub_dir = -internal->sub_dir; in next_sub_range()
503 struct stb0899_internal *internal = &state->internal; in stb0899_dvbs_algo() local
522 internal->direction = 1; in stb0899_dvbs_algo()
524 stb0899_set_srate(state, internal->master_clk, params->srate); in stb0899_dvbs_algo()
564 internal->derot_percent, params->srate, internal->mclk); in stb0899_dvbs_algo()
567 …internal->derot_step = internal->derot_percent * (params->srate / 1000L) / internal->mclk; /* Dero… in stb0899_dvbs_algo()
568 internal->t_derot = stb0899_calc_derot_time(params->srate); in stb0899_dvbs_algo()
569 internal->t_data = 500; in stb0899_dvbs_algo()
599 internal->derot_freq = 0; in stb0899_dvbs_algo()
600 internal->status = NOAGC1; in stb0899_dvbs_algo()
608 state->config->tuner_set_frequency(&state->frontend, internal->freq); in stb0899_dvbs_algo()
611 state->config->tuner_get_frequency(&state->frontend, &internal->freq); in stb0899_dvbs_algo()
613 msleep(internal->t_agc1 + internal->t_agc2 + internal->t_derot); /* AGC1, AGC2 and timing loop */ in stb0899_dvbs_algo()
614 dprintk(state->verbose, FE_DEBUG, 1, "current derot freq=%d", internal->derot_freq); in stb0899_dvbs_algo()
615 internal->status = AGC1OK; in stb0899_dvbs_algo()
629 if (internal->status == TIMINGOK) { in stb0899_dvbs_algo()
632 internal->derot_freq, internal->mclk); in stb0899_dvbs_algo()
637 internal->derot_freq, internal->mclk); in stb0899_dvbs_algo()
642 internal->derot_freq, internal->mclk); in stb0899_dvbs_algo()
647 internal->derot_freq, internal->mclk); in stb0899_dvbs_algo()
649 internal->freq = params->freq - ((internal->derot_freq * internal->mclk) / 1000); in stb0899_dvbs_algo()
651 internal->fecrate = STB0899_GETFIELD(VITCURPUN, reg); in stb0899_dvbs_algo()
654 params->freq, internal->freq); in stb0899_dvbs_algo()
658 internal->fecrate); in stb0899_dvbs_algo()
663 if (internal->status != RANGEOK) in stb0899_dvbs_algo()
666 } while (internal->sub_range && internal->status != RANGEOK); in stb0899_dvbs_algo()
672 if (internal->status == RANGEOK) { in stb0899_dvbs_algo()
682 switch (internal->fecrate) { in stb0899_dvbs_algo()
730 return internal->status; in stb0899_dvbs_algo()
739 struct stb0899_internal *internal = &state->internal; in stb0899_dvbs2_config_uwp() local
751 STB0899_SETFIELD_VAL(FE_COARSE_TRK, uwp2, internal->av_frame_coarse); in stb0899_dvbs2_config_uwp()
752 STB0899_SETFIELD_VAL(FE_FINE_TRK, uwp2, internal->av_frame_fine); in stb0899_dvbs2_config_uwp()
800 struct stb0899_internal *internal = &state->internal; in stb0899_dvbs2_calc_srate() local
806 dec_ratio = (internal->master_clk * 2) / (5 * internal->srate); in stb0899_dvbs2_calc_srate()
810 master_clk = internal->master_clk / 1000; in stb0899_dvbs2_calc_srate()
811 srate = internal->srate / 1000; in stb0899_dvbs2_calc_srate()
831 struct stb0899_internal *internal = &state->internal; in stb0899_dvbs2_calc_dev() local
834 dec_ratio = (internal->master_clk * 2) / (5 * internal->srate); in stb0899_dvbs2_calc_dev()
837 master_clk = internal->master_clk / 1000; /* for integer Caculation*/ in stb0899_dvbs2_calc_dev()
838 srate = internal->srate / 1000; /* for integer Caculation*/ in stb0899_dvbs2_calc_dev()
850 struct stb0899_internal *internal = &state->internal; in stb0899_dvbs2_set_srate() local
857 dec_ratio = (internal->master_clk * 2) / (5 * internal->srate); in stb0899_dvbs2_set_srate()
867 f_sym = internal->master_clk / ((decim * internal->srate) / 1000); in stb0899_dvbs2_set_srate()
894 freq_adj = internal->srate / (internal->master_clk / 4096); in stb0899_dvbs2_set_srate()
904 struct stb0899_internal *internal = &state->internal; in stb0899_dvbs2_set_btr_loopbw() local
913 dec_ratio = (internal->master_clk * 2) / (5 * internal->srate); in stb0899_dvbs2_set_btr_loopbw()
919 K = (1 << config->btr_nco_bits) / (internal->master_clk / 1000); in stb0899_dvbs2_set_btr_loopbw()
920 K *= (internal->srate / 1000000) * decim; /*k=k 10^-8*/ in stb0899_dvbs2_set_btr_loopbw()
981 struct stb0899_internal *internal = &state->internal; in stb0899_dvbs2_init_calc() local
993 if (internal->srate / 1000000 >= 15) in stb0899_dvbs2_init_calc()
995 else if (internal->srate / 1000000 >= 10) in stb0899_dvbs2_init_calc()
997 else if (internal->srate / 1000000 >= 5) in stb0899_dvbs2_init_calc()
1002 range = internal->srch_range / 1000000; in stb0899_dvbs2_init_calc()
1003 steps = (10 * range * (1 << 17)) / (step_size * (internal->srate / 1000000)); in stb0899_dvbs2_init_calc()
1007 stb0899_dvbs2_set_carr_freq(state, internal->center_freq - in stb0899_dvbs2_init_calc()
1008 (internal->step_size * (internal->srate / 20000000)), in stb0899_dvbs2_init_calc()
1009 (internal->master_clk) / 1000000); in stb0899_dvbs2_init_calc()
1011 stb0899_dvbs2_set_carr_freq(state, internal->center_freq, (internal->master_clk) / 1000000); in stb0899_dvbs2_init_calc()
1175 struct stb0899_internal *internal = &state->internal; in stb0899_dvbs2_init_csm() local
1181 if (((internal->master_clk / internal->srate) <= 4) && (modcod <= 11) && (pilots == 1)) { in stb0899_dvbs2_init_csm()
1282 struct stb0899_internal *internal = &state->internal; in stb0899_dvbs2_get_srate() local
1297 intval1 = internal->master_clk / (1 << div1); in stb0899_dvbs2_get_srate()
1300 rem1 = internal->master_clk % (1 << div1); in stb0899_dvbs2_get_srate()
1316 struct stb0899_internal *internal = &state->internal; in stb0899_dvbs2_algo() local
1323 if (internal->srate <= 2000000) { in stb0899_dvbs2_algo()
1326 } else if (internal->srate <= 5000000) { in stb0899_dvbs2_algo()
1329 } else if (internal->srate <= 10000000) { in stb0899_dvbs2_algo()
1332 } else if (internal->srate <= 15000000) { in stb0899_dvbs2_algo()
1335 } else if (internal->srate <= 20000000) { in stb0899_dvbs2_algo()
1338 } else if (internal->srate <= 25000000) { in stb0899_dvbs2_algo()
1356 state->config->tuner_set_frequency(&state->frontend, internal->freq); in stb0899_dvbs2_algo()
1358 state->config->tuner_get_frequency(&state->frontend, &internal->freq); in stb0899_dvbs2_algo()
1377 switch (internal->inversion) { in stb0899_dvbs2_algo()
1389 internal->status = stb0899_dvbs2_get_dmd_status(state, searchTime); in stb0899_dvbs2_algo()
1391 if (internal->status == DVBS2_DEMOD_LOCK) { in stb0899_dvbs2_algo()
1395 internal->status = stb0899_dvbs2_get_fec_status(state, FecLockTime); in stb0899_dvbs2_algo()
1398 while ((internal->status != DVBS2_FEC_LOCK) && (i < 3)) { in stb0899_dvbs2_algo()
1407 internal->status = stb0899_dvbs2_get_fec_status(state, searchTime); in stb0899_dvbs2_algo()
1412 if (internal->status != DVBS2_FEC_LOCK) { in stb0899_dvbs2_algo()
1422 internal->status = stb0899_dvbs2_get_dmd_status(state, searchTime); in stb0899_dvbs2_algo()
1423 if (internal->status == DVBS2_DEMOD_LOCK) { in stb0899_dvbs2_algo()
1426 internal->status = stb0899_dvbs2_get_fec_status(state, FecLockTime); in stb0899_dvbs2_algo()
1428 while ((internal->status != DVBS2_FEC_LOCK) && (i < 3)) { in stb0899_dvbs2_algo()
1438 internal->status = stb0899_dvbs2_get_fec_status(state, searchTime); in stb0899_dvbs2_algo()
1447 if (internal->status == DVBS2_FEC_LOCK) { in stb0899_dvbs2_algo()
1453 if ((((10 * internal->master_clk) / (internal->srate / 10)) <= 410) && in stb0899_dvbs2_algo()
1459 internal->status = stb0899_dvbs2_get_fec_status(state, FecLockTime); in stb0899_dvbs2_algo()
1462 while ((internal->status != DVBS2_FEC_LOCK) && (i < 3)) { in stb0899_dvbs2_algo()
1470 internal->status = stb0899_dvbs2_get_fec_status(state, FecLockTime); in stb0899_dvbs2_algo()
1475 if ((((10 * internal->master_clk) / (internal->srate / 10)) <= 410) && in stb0899_dvbs2_algo()
1498 offsetfreq *= (internal->master_clk / 1000000); in stb0899_dvbs2_algo()
1503 internal->inversion = IQ_SWAP_ON; in stb0899_dvbs2_algo()
1505 internal->inversion = IQ_SWAP_OFF; in stb0899_dvbs2_algo()
1507 internal->freq = internal->freq + offsetfreq; in stb0899_dvbs2_algo()
1508 internal->srate = stb0899_dvbs2_get_srate(state); in stb0899_dvbs2_algo()
1511 internal->modcod = STB0899_GETFIELD(UWP_DECODE_MOD, reg) >> 2; in stb0899_dvbs2_algo()
1512 internal->pilots = STB0899_GETFIELD(UWP_DECODE_MOD, reg) & 0x01; in stb0899_dvbs2_algo()
1513 internal->frame_length = (STB0899_GETFIELD(UWP_DECODE_MOD, reg) >> 1) & 0x01; in stb0899_dvbs2_algo()
1520 if (INRANGE(STB0899_QPSK_12, internal->modcod, STB0899_QPSK_23)) in stb0899_dvbs2_algo()
1535 return internal->status; in stb0899_dvbs2_algo()