Lines Matching full:fe
102 struct dvb_frontend *fe[MAX_NUMBER_OF_FRONTENDS]; member
681 case IN_MSG_DATA: /* FE-TRACE */ in dib9000_mbx_fetch_to_cache()
963 static int dib9000_fw_reset(struct dvb_frontend *fe) in dib9000_fw_reset() argument
965 struct dib9000_state *state = fe->demodulator_priv; in dib9000_fw_reset()
1158 u32 freq = state->fe[0]->dtv_property_cache.frequency / 1000; in dib9000_fw_set_channel_head()
1166 b[4] = (u8) ((state->fe[0]->dtv_property_cache.bandwidth_hz / 1000 >> 0) & 0xff); in dib9000_fw_set_channel_head()
1167 b[5] = (u8) ((state->fe[0]->dtv_property_cache.bandwidth_hz / 1000 >> 8) & 0xff); in dib9000_fw_set_channel_head()
1168 b[6] = (u8) ((state->fe[0]->dtv_property_cache.bandwidth_hz / 1000 >> 16) & 0xff); in dib9000_fw_set_channel_head()
1169 b[7] = (u8) ((state->fe[0]->dtv_property_cache.bandwidth_hz / 1000 >> 24) & 0xff); in dib9000_fw_set_channel_head()
1171 if (state->fe[0]->dtv_property_cache.delivery_system == SYS_DVBT) in dib9000_fw_set_channel_head()
1176 static int dib9000_fw_get_channel(struct dvb_frontend *fe) in dib9000_fw_get_channel() argument
1178 struct dib9000_state *state = fe->demodulator_priv; in dib9000_fw_get_channel()
1213 state->fe[0]->dtv_property_cache.inversion = INVERSION_ON; in dib9000_fw_get_channel()
1216 state->fe[0]->dtv_property_cache.inversion = INVERSION_OFF; in dib9000_fw_get_channel()
1220 state->fe[0]->dtv_property_cache.inversion = INVERSION_AUTO; in dib9000_fw_get_channel()
1225 state->fe[0]->dtv_property_cache.transmission_mode = TRANSMISSION_MODE_2K; in dib9000_fw_get_channel()
1228 state->fe[0]->dtv_property_cache.transmission_mode = TRANSMISSION_MODE_4K; in dib9000_fw_get_channel()
1231 state->fe[0]->dtv_property_cache.transmission_mode = TRANSMISSION_MODE_8K; in dib9000_fw_get_channel()
1235 state->fe[0]->dtv_property_cache.transmission_mode = TRANSMISSION_MODE_AUTO; in dib9000_fw_get_channel()
1240 state->fe[0]->dtv_property_cache.guard_interval = GUARD_INTERVAL_1_32; in dib9000_fw_get_channel()
1243 state->fe[0]->dtv_property_cache.guard_interval = GUARD_INTERVAL_1_16; in dib9000_fw_get_channel()
1246 state->fe[0]->dtv_property_cache.guard_interval = GUARD_INTERVAL_1_8; in dib9000_fw_get_channel()
1249 state->fe[0]->dtv_property_cache.guard_interval = GUARD_INTERVAL_1_4; in dib9000_fw_get_channel()
1253 state->fe[0]->dtv_property_cache.guard_interval = GUARD_INTERVAL_AUTO; in dib9000_fw_get_channel()
1258 state->fe[0]->dtv_property_cache.modulation = QAM_64; in dib9000_fw_get_channel()
1261 state->fe[0]->dtv_property_cache.modulation = QAM_16; in dib9000_fw_get_channel()
1264 state->fe[0]->dtv_property_cache.modulation = QPSK; in dib9000_fw_get_channel()
1268 state->fe[0]->dtv_property_cache.modulation = QAM_AUTO; in dib9000_fw_get_channel()
1273 state->fe[0]->dtv_property_cache.hierarchy = HIERARCHY_NONE; in dib9000_fw_get_channel()
1276 state->fe[0]->dtv_property_cache.hierarchy = HIERARCHY_1; in dib9000_fw_get_channel()
1280 state->fe[0]->dtv_property_cache.hierarchy = HIERARCHY_AUTO; in dib9000_fw_get_channel()
1285 state->fe[0]->dtv_property_cache.code_rate_HP = FEC_1_2; in dib9000_fw_get_channel()
1288 state->fe[0]->dtv_property_cache.code_rate_HP = FEC_2_3; in dib9000_fw_get_channel()
1291 state->fe[0]->dtv_property_cache.code_rate_HP = FEC_3_4; in dib9000_fw_get_channel()
1294 state->fe[0]->dtv_property_cache.code_rate_HP = FEC_5_6; in dib9000_fw_get_channel()
1297 state->fe[0]->dtv_property_cache.code_rate_HP = FEC_7_8; in dib9000_fw_get_channel()
1301 state->fe[0]->dtv_property_cache.code_rate_HP = FEC_AUTO; in dib9000_fw_get_channel()
1306 state->fe[0]->dtv_property_cache.code_rate_LP = FEC_1_2; in dib9000_fw_get_channel()
1309 state->fe[0]->dtv_property_cache.code_rate_LP = FEC_2_3; in dib9000_fw_get_channel()
1312 state->fe[0]->dtv_property_cache.code_rate_LP = FEC_3_4; in dib9000_fw_get_channel()
1315 state->fe[0]->dtv_property_cache.code_rate_LP = FEC_5_6; in dib9000_fw_get_channel()
1318 state->fe[0]->dtv_property_cache.code_rate_LP = FEC_7_8; in dib9000_fw_get_channel()
1322 state->fe[0]->dtv_property_cache.code_rate_LP = FEC_AUTO; in dib9000_fw_get_channel()
1331 static int dib9000_fw_set_channel_union(struct dvb_frontend *fe) in dib9000_fw_set_channel_union() argument
1333 struct dib9000_state *state = fe->demodulator_priv; in dib9000_fw_set_channel_union()
1351 switch (state->fe[0]->dtv_property_cache.inversion) { in dib9000_fw_set_channel_union()
1363 switch (state->fe[0]->dtv_property_cache.transmission_mode) { in dib9000_fw_set_channel_union()
1378 switch (state->fe[0]->dtv_property_cache.guard_interval) { in dib9000_fw_set_channel_union()
1396 switch (state->fe[0]->dtv_property_cache.modulation) { in dib9000_fw_set_channel_union()
1411 switch (state->fe[0]->dtv_property_cache.hierarchy) { in dib9000_fw_set_channel_union()
1426 switch (state->fe[0]->dtv_property_cache.code_rate_HP) { in dib9000_fw_set_channel_union()
1447 switch (state->fe[0]->dtv_property_cache.code_rate_LP) { in dib9000_fw_set_channel_union()
1476 static int dib9000_fw_tune(struct dvb_frontend *fe) in dib9000_fw_tune() argument
1478 struct dib9000_state *state = fe->demodulator_priv; in dib9000_fw_tune()
1493 dib9000_fw_set_channel_union(fe); in dib9000_fw_tune()
1529 static int dib9000_fw_set_diversity_in(struct dvb_frontend *fe, int onoff) in dib9000_fw_set_diversity_in() argument
1531 struct dib9000_state *state = fe->demodulator_priv; in dib9000_fw_set_diversity_in()
1536 static int dib9000_fw_set_output_mode(struct dvb_frontend *fe, int mode) in dib9000_fw_set_output_mode() argument
1538 struct dib9000_state *state = fe->demodulator_priv; in dib9000_fw_set_output_mode()
1541 dprintk("setting output mode for demod %p to %d\n", fe, mode); in dib9000_fw_set_output_mode()
1563 dprintk("Unhandled output_mode passed to be set for demod %p\n", &state->fe[0]); in dib9000_fw_set_output_mode()
1644 int dib9000_fw_set_component_bus_speed(struct dvb_frontend *fe, u16 speed) in dib9000_fw_set_component_bus_speed() argument
1646 struct dib9000_state *state = fe->demodulator_priv; in dib9000_fw_set_component_bus_speed()
1724 struct i2c_adapter *dib9000_get_tuner_interface(struct dvb_frontend *fe) in dib9000_get_tuner_interface() argument
1726 struct dib9000_state *st = fe->demodulator_priv; in dib9000_get_tuner_interface()
1731 struct i2c_adapter *dib9000_get_component_bus_interface(struct dvb_frontend *fe) in dib9000_get_component_bus_interface() argument
1733 struct dib9000_state *st = fe->demodulator_priv; in dib9000_get_component_bus_interface()
1738 struct i2c_adapter *dib9000_get_i2c_master(struct dvb_frontend *fe, enum dibx000_i2c_interface intf… in dib9000_get_i2c_master() argument
1740 struct dib9000_state *st = fe->demodulator_priv; in dib9000_get_i2c_master()
1745 int dib9000_set_i2c_adapter(struct dvb_frontend *fe, struct i2c_adapter *i2c) in dib9000_set_i2c_adapter() argument
1747 struct dib9000_state *st = fe->demodulator_priv; in dib9000_set_i2c_adapter()
1771 int dib9000_set_gpio(struct dvb_frontend *fe, u8 num, u8 dir, u8 val) in dib9000_set_gpio() argument
1773 struct dib9000_state *state = fe->demodulator_priv; in dib9000_set_gpio()
1778 int dib9000_fw_pid_filter_ctrl(struct dvb_frontend *fe, u8 onoff) in dib9000_fw_pid_filter_ctrl() argument
1780 struct dib9000_state *state = fe->demodulator_priv; in dib9000_fw_pid_filter_ctrl()
1809 int dib9000_fw_pid_filter(struct dvb_frontend *fe, u8 id, u16 pid, u8 onoff) in dib9000_fw_pid_filter() argument
1811 struct dib9000_state *state = fe->demodulator_priv; in dib9000_fw_pid_filter()
1840 int dib9000_firmware_post_pll_init(struct dvb_frontend *fe) in dib9000_firmware_post_pll_init() argument
1842 struct dib9000_state *state = fe->demodulator_priv; in dib9000_firmware_post_pll_init()
1852 …for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (st->fe[index_frontend] != … in dib9000_release()
1853 dvb_frontend_detach(st->fe[index_frontend]); in dib9000_release()
1859 kfree(st->fe[0]); in dib9000_release()
1863 static int dib9000_wakeup(struct dvb_frontend *fe) in dib9000_wakeup() argument
1868 static int dib9000_sleep(struct dvb_frontend *fe) in dib9000_sleep() argument
1870 struct dib9000_state *state = fe->demodulator_priv; in dib9000_sleep()
1878 …for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib9000_sleep()
1879 ret = state->fe[index_frontend]->ops.sleep(state->fe[index_frontend]); in dib9000_sleep()
1890 static int dib9000_fe_get_tune_settings(struct dvb_frontend *fe, struct dvb_frontend_tune_settings … in dib9000_fe_get_tune_settings() argument
1896 static int dib9000_get_frontend(struct dvb_frontend *fe, in dib9000_get_frontend() argument
1899 struct dib9000_state *state = fe->demodulator_priv; in dib9000_get_frontend()
1911 …for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib9000_get_frontend()
1912 state->fe[index_frontend]->ops.read_status(state->fe[index_frontend], &stat); in dib9000_get_frontend()
1917 state->fe[index_frontend]->ops.get_frontend(state->fe[index_frontend], c); in dib9000_get_frontend()
1918 …for (sub_index_frontend = 0; (sub_index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[sub_inde… in dib9000_get_frontend()
1921 state->fe[sub_index_frontend]->dtv_property_cache.modulation = in dib9000_get_frontend()
1922 state->fe[index_frontend]->dtv_property_cache.modulation; in dib9000_get_frontend()
1923 state->fe[sub_index_frontend]->dtv_property_cache.inversion = in dib9000_get_frontend()
1924 state->fe[index_frontend]->dtv_property_cache.inversion; in dib9000_get_frontend()
1925 state->fe[sub_index_frontend]->dtv_property_cache.transmission_mode = in dib9000_get_frontend()
1926 state->fe[index_frontend]->dtv_property_cache.transmission_mode; in dib9000_get_frontend()
1927 state->fe[sub_index_frontend]->dtv_property_cache.guard_interval = in dib9000_get_frontend()
1928 state->fe[index_frontend]->dtv_property_cache.guard_interval; in dib9000_get_frontend()
1929 state->fe[sub_index_frontend]->dtv_property_cache.hierarchy = in dib9000_get_frontend()
1930 state->fe[index_frontend]->dtv_property_cache.hierarchy; in dib9000_get_frontend()
1931 state->fe[sub_index_frontend]->dtv_property_cache.code_rate_HP = in dib9000_get_frontend()
1932 state->fe[index_frontend]->dtv_property_cache.code_rate_HP; in dib9000_get_frontend()
1933 state->fe[sub_index_frontend]->dtv_property_cache.code_rate_LP = in dib9000_get_frontend()
1934 state->fe[index_frontend]->dtv_property_cache.code_rate_LP; in dib9000_get_frontend()
1935 state->fe[sub_index_frontend]->dtv_property_cache.rolloff = in dib9000_get_frontend()
1936 state->fe[index_frontend]->dtv_property_cache.rolloff; in dib9000_get_frontend()
1945 ret = dib9000_fw_get_channel(fe); in dib9000_get_frontend()
1950 …for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib9000_get_frontend()
1951 state->fe[index_frontend]->dtv_property_cache.inversion = c->inversion; in dib9000_get_frontend()
1952 state->fe[index_frontend]->dtv_property_cache.transmission_mode = c->transmission_mode; in dib9000_get_frontend()
1953 state->fe[index_frontend]->dtv_property_cache.guard_interval = c->guard_interval; in dib9000_get_frontend()
1954 state->fe[index_frontend]->dtv_property_cache.modulation = c->modulation; in dib9000_get_frontend()
1955 state->fe[index_frontend]->dtv_property_cache.hierarchy = c->hierarchy; in dib9000_get_frontend()
1956 state->fe[index_frontend]->dtv_property_cache.code_rate_HP = c->code_rate_HP; in dib9000_get_frontend()
1957 state->fe[index_frontend]->dtv_property_cache.code_rate_LP = c->code_rate_LP; in dib9000_get_frontend()
1958 state->fe[index_frontend]->dtv_property_cache.rolloff = c->rolloff; in dib9000_get_frontend()
1968 static int dib9000_set_tune_state(struct dvb_frontend *fe, enum frontend_tune_state tune_state) in dib9000_set_tune_state() argument
1970 struct dib9000_state *state = fe->demodulator_priv; in dib9000_set_tune_state()
1978 static u32 dib9000_get_status(struct dvb_frontend *fe) in dib9000_get_status() argument
1980 struct dib9000_state *state = fe->demodulator_priv; in dib9000_get_status()
1984 static int dib9000_set_channel_status(struct dvb_frontend *fe, struct dvb_frontend_parametersContex… in dib9000_set_channel_status() argument
1986 struct dib9000_state *state = fe->demodulator_priv; in dib9000_set_channel_status()
1992 static int dib9000_set_frontend(struct dvb_frontend *fe) in dib9000_set_frontend() argument
1994 struct dib9000_state *state = fe->demodulator_priv; in dib9000_set_frontend()
2001 if (state->fe[0]->dtv_property_cache.frequency == 0) { in dib9000_set_frontend()
2006 if (state->fe[0]->dtv_property_cache.bandwidth_hz == 0) { in dib9000_set_frontend()
2017 fe->dtv_property_cache.delivery_system = SYS_DVBT; in dib9000_set_frontend()
2020 if (state->fe[0]->dtv_property_cache.transmission_mode == TRANSMISSION_MODE_AUTO || in dib9000_set_frontend()
2021 state->fe[0]->dtv_property_cache.guard_interval == GUARD_INTERVAL_AUTO || in dib9000_set_frontend()
2022 state->fe[0]->dtv_property_cache.modulation == QAM_AUTO || in dib9000_set_frontend()
2023 state->fe[0]->dtv_property_cache.code_rate_HP == FEC_AUTO) { in dib9000_set_frontend()
2030 …for (index_frontend = 0; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib9000_set_frontend()
2031 dib9000_fw_set_diversity_in(state->fe[index_frontend], 1); in dib9000_set_frontend()
2034 …memcpy(&state->fe[index_frontend]->dtv_property_cache, &fe->dtv_property_cache, sizeof(struct dtv_… in dib9000_set_frontend()
2036 state->fe[index_frontend]->dtv_property_cache.delivery_system = SYS_DVBT; in dib9000_set_frontend()
2037 dib9000_fw_set_output_mode(state->fe[index_frontend], OUTMODE_HIGH_Z); in dib9000_set_frontend()
2039 dib9000_set_channel_status(state->fe[index_frontend], &state->channel_status); in dib9000_set_frontend()
2040 dib9000_set_tune_state(state->fe[index_frontend], CT_DEMOD_START); in dib9000_set_frontend()
2047 sleep_time = dib9000_fw_tune(state->fe[0]); in dib9000_set_frontend()
2048 …for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib9000_set_frontend()
2049 sleep_time_slave = dib9000_fw_tune(state->fe[index_frontend]); in dib9000_set_frontend()
2063 …for (index_frontend = 0; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib9000_set_frontend()
2064 frontend_status = -dib9000_get_status(state->fe[index_frontend]); in dib9000_set_frontend()
2091 dib9000_get_frontend(state->fe[0], &state->fe[0]->dtv_property_cache); in dib9000_set_frontend()
2096 …for (index_frontend = 0; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib9000_set_frontend()
2099 dib9000_set_channel_status(state->fe[index_frontend], &channel_status); in dib9000_set_frontend()
2100 dib9000_set_tune_state(state->fe[index_frontend], CT_DEMOD_START); in dib9000_set_frontend()
2105 …for (index_frontend = 0; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib9000_set_frontend()
2107 sleep_time_slave = dib9000_fw_tune(state->fe[index_frontend]); in dib9000_set_frontend()
2120 …for (index_frontend = 0; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib9000_set_frontend()
2122 frontend_status = -dib9000_get_status(state->fe[index_frontend]); in dib9000_set_frontend()
2130 dib9000_fw_set_output_mode(state->fe[0], state->chip.d9.cfg.output_mode); in dib9000_set_frontend()
2131 …for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib9000_set_frontend()
2132 dib9000_fw_set_output_mode(state->fe[index_frontend], OUTMODE_DIVERSITY); in dib9000_set_frontend()
2135 dib9000_fw_set_diversity_in(state->fe[index_frontend - 1], 0); in dib9000_set_frontend()
2147 dib9000_fw_pid_filter_ctrl(state->fe[0], in dib9000_set_frontend()
2150 dib9000_fw_pid_filter(state->fe[0], in dib9000_set_frontend()
2162 static u16 dib9000_read_lock(struct dvb_frontend *fe) in dib9000_read_lock() argument
2164 struct dib9000_state *state = fe->demodulator_priv; in dib9000_read_lock()
2169 static int dib9000_read_status(struct dvb_frontend *fe, enum fe_status *stat) in dib9000_read_status() argument
2171 struct dib9000_state *state = fe->demodulator_priv; in dib9000_read_status()
2179 …for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib9000_read_status()
2180 lock_slave |= dib9000_read_lock(state->fe[index_frontend]); in dib9000_read_status()
2202 static int dib9000_read_ber(struct dvb_frontend *fe, u32 * ber) in dib9000_read_ber() argument
2204 struct dib9000_state *state = fe->demodulator_priv; in dib9000_read_ber()
2235 static int dib9000_read_signal_strength(struct dvb_frontend *fe, u16 * strength) in dib9000_read_signal_strength() argument
2237 struct dib9000_state *state = fe->demodulator_priv; in dib9000_read_signal_strength()
2248 …for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib9000_read_signal_strength()
2249 state->fe[index_frontend]->ops.read_signal_strength(state->fe[index_frontend], &val); in dib9000_read_signal_strength()
2280 static u32 dib9000_get_snr(struct dvb_frontend *fe) in dib9000_get_snr() argument
2282 struct dib9000_state *state = fe->demodulator_priv; in dib9000_get_snr()
2320 static int dib9000_read_snr(struct dvb_frontend *fe, u16 * snr) in dib9000_read_snr() argument
2322 struct dib9000_state *state = fe->demodulator_priv; in dib9000_read_snr()
2330 snr_master = dib9000_get_snr(fe); in dib9000_read_snr()
2331 …for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib9000_read_snr()
2332 snr_master += dib9000_get_snr(state->fe[index_frontend]); in dib9000_read_snr()
2345 static int dib9000_read_unc_blocks(struct dvb_frontend *fe, u32 * unc) in dib9000_read_unc_blocks() argument
2347 struct dib9000_state *state = fe->demodulator_priv; in dib9000_read_unc_blocks()
2444 int dib9000_set_slave_frontend(struct dvb_frontend *fe, struct dvb_frontend *fe_slave) in dib9000_set_slave_frontend() argument
2446 struct dib9000_state *state = fe->demodulator_priv; in dib9000_set_slave_frontend()
2449 while ((index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL)) in dib9000_set_slave_frontend()
2452 dprintk("set slave fe %p to index %i\n", fe_slave, index_frontend); in dib9000_set_slave_frontend()
2453 state->fe[index_frontend] = fe_slave; in dib9000_set_slave_frontend()
2462 struct dvb_frontend *dib9000_get_slave_frontend(struct dvb_frontend *fe, int slave_index) in dib9000_get_slave_frontend() argument
2464 struct dib9000_state *state = fe->demodulator_priv; in dib9000_get_slave_frontend()
2468 return state->fe[slave_index]; in dib9000_get_slave_frontend()
2475 struct dvb_frontend *fe; in dib9000_attach() local
2480 fe = kzalloc(sizeof(struct dvb_frontend), GFP_KERNEL); in dib9000_attach()
2481 if (fe == NULL) { in dib9000_attach()
2505 st->fe[0] = fe; in dib9000_attach()
2506 fe->demodulator_priv = st; in dib9000_attach()
2507 memcpy(&st->fe[0]->ops, &dib9000_ops, sizeof(struct dvb_frontend_ops)); in dib9000_attach()
2539 dib9000_fw_reset(fe); in dib9000_attach()
2541 return fe; in dib9000_attach()