Lines Matching refs:fe
97 struct dvb_frontend *fe[MAX_NUMBER_OF_FRONTENDS]; member
959 static int dib9000_fw_reset(struct dvb_frontend *fe) in dib9000_fw_reset() argument
961 struct dib9000_state *state = fe->demodulator_priv; in dib9000_fw_reset()
1154 u32 freq = state->fe[0]->dtv_property_cache.frequency / 1000; in dib9000_fw_set_channel_head()
1162 b[4] = (u8) ((state->fe[0]->dtv_property_cache.bandwidth_hz / 1000 >> 0) & 0xff); in dib9000_fw_set_channel_head()
1163 b[5] = (u8) ((state->fe[0]->dtv_property_cache.bandwidth_hz / 1000 >> 8) & 0xff); in dib9000_fw_set_channel_head()
1164 b[6] = (u8) ((state->fe[0]->dtv_property_cache.bandwidth_hz / 1000 >> 16) & 0xff); in dib9000_fw_set_channel_head()
1165 b[7] = (u8) ((state->fe[0]->dtv_property_cache.bandwidth_hz / 1000 >> 24) & 0xff); in dib9000_fw_set_channel_head()
1167 if (state->fe[0]->dtv_property_cache.delivery_system == SYS_DVBT) in dib9000_fw_set_channel_head()
1172 static int dib9000_fw_get_channel(struct dvb_frontend *fe) in dib9000_fw_get_channel() argument
1174 struct dib9000_state *state = fe->demodulator_priv; in dib9000_fw_get_channel()
1209 state->fe[0]->dtv_property_cache.inversion = INVERSION_ON; in dib9000_fw_get_channel()
1212 state->fe[0]->dtv_property_cache.inversion = INVERSION_OFF; in dib9000_fw_get_channel()
1216 state->fe[0]->dtv_property_cache.inversion = INVERSION_AUTO; in dib9000_fw_get_channel()
1221 state->fe[0]->dtv_property_cache.transmission_mode = TRANSMISSION_MODE_2K; in dib9000_fw_get_channel()
1224 state->fe[0]->dtv_property_cache.transmission_mode = TRANSMISSION_MODE_4K; in dib9000_fw_get_channel()
1227 state->fe[0]->dtv_property_cache.transmission_mode = TRANSMISSION_MODE_8K; in dib9000_fw_get_channel()
1231 state->fe[0]->dtv_property_cache.transmission_mode = TRANSMISSION_MODE_AUTO; in dib9000_fw_get_channel()
1236 state->fe[0]->dtv_property_cache.guard_interval = GUARD_INTERVAL_1_32; in dib9000_fw_get_channel()
1239 state->fe[0]->dtv_property_cache.guard_interval = GUARD_INTERVAL_1_16; in dib9000_fw_get_channel()
1242 state->fe[0]->dtv_property_cache.guard_interval = GUARD_INTERVAL_1_8; in dib9000_fw_get_channel()
1245 state->fe[0]->dtv_property_cache.guard_interval = GUARD_INTERVAL_1_4; in dib9000_fw_get_channel()
1249 state->fe[0]->dtv_property_cache.guard_interval = GUARD_INTERVAL_AUTO; in dib9000_fw_get_channel()
1254 state->fe[0]->dtv_property_cache.modulation = QAM_64; in dib9000_fw_get_channel()
1257 state->fe[0]->dtv_property_cache.modulation = QAM_16; in dib9000_fw_get_channel()
1260 state->fe[0]->dtv_property_cache.modulation = QPSK; in dib9000_fw_get_channel()
1264 state->fe[0]->dtv_property_cache.modulation = QAM_AUTO; in dib9000_fw_get_channel()
1269 state->fe[0]->dtv_property_cache.hierarchy = HIERARCHY_NONE; in dib9000_fw_get_channel()
1272 state->fe[0]->dtv_property_cache.hierarchy = HIERARCHY_1; in dib9000_fw_get_channel()
1276 state->fe[0]->dtv_property_cache.hierarchy = HIERARCHY_AUTO; in dib9000_fw_get_channel()
1281 state->fe[0]->dtv_property_cache.code_rate_HP = FEC_1_2; in dib9000_fw_get_channel()
1284 state->fe[0]->dtv_property_cache.code_rate_HP = FEC_2_3; in dib9000_fw_get_channel()
1287 state->fe[0]->dtv_property_cache.code_rate_HP = FEC_3_4; in dib9000_fw_get_channel()
1290 state->fe[0]->dtv_property_cache.code_rate_HP = FEC_5_6; in dib9000_fw_get_channel()
1293 state->fe[0]->dtv_property_cache.code_rate_HP = FEC_7_8; in dib9000_fw_get_channel()
1297 state->fe[0]->dtv_property_cache.code_rate_HP = FEC_AUTO; in dib9000_fw_get_channel()
1302 state->fe[0]->dtv_property_cache.code_rate_LP = FEC_1_2; in dib9000_fw_get_channel()
1305 state->fe[0]->dtv_property_cache.code_rate_LP = FEC_2_3; in dib9000_fw_get_channel()
1308 state->fe[0]->dtv_property_cache.code_rate_LP = FEC_3_4; in dib9000_fw_get_channel()
1311 state->fe[0]->dtv_property_cache.code_rate_LP = FEC_5_6; in dib9000_fw_get_channel()
1314 state->fe[0]->dtv_property_cache.code_rate_LP = FEC_7_8; in dib9000_fw_get_channel()
1318 state->fe[0]->dtv_property_cache.code_rate_LP = FEC_AUTO; in dib9000_fw_get_channel()
1327 static int dib9000_fw_set_channel_union(struct dvb_frontend *fe) in dib9000_fw_set_channel_union() argument
1329 struct dib9000_state *state = fe->demodulator_priv; in dib9000_fw_set_channel_union()
1347 switch (state->fe[0]->dtv_property_cache.inversion) { in dib9000_fw_set_channel_union()
1359 switch (state->fe[0]->dtv_property_cache.transmission_mode) { in dib9000_fw_set_channel_union()
1374 switch (state->fe[0]->dtv_property_cache.guard_interval) { in dib9000_fw_set_channel_union()
1392 switch (state->fe[0]->dtv_property_cache.modulation) { in dib9000_fw_set_channel_union()
1407 switch (state->fe[0]->dtv_property_cache.hierarchy) { in dib9000_fw_set_channel_union()
1422 switch (state->fe[0]->dtv_property_cache.code_rate_HP) { in dib9000_fw_set_channel_union()
1443 switch (state->fe[0]->dtv_property_cache.code_rate_LP) { in dib9000_fw_set_channel_union()
1472 static int dib9000_fw_tune(struct dvb_frontend *fe) in dib9000_fw_tune() argument
1474 struct dib9000_state *state = fe->demodulator_priv; in dib9000_fw_tune()
1489 dib9000_fw_set_channel_union(fe); in dib9000_fw_tune()
1525 static int dib9000_fw_set_diversity_in(struct dvb_frontend *fe, int onoff) in dib9000_fw_set_diversity_in() argument
1527 struct dib9000_state *state = fe->demodulator_priv; in dib9000_fw_set_diversity_in()
1532 static int dib9000_fw_set_output_mode(struct dvb_frontend *fe, int mode) in dib9000_fw_set_output_mode() argument
1534 struct dib9000_state *state = fe->demodulator_priv; in dib9000_fw_set_output_mode()
1537 dprintk("setting output mode for demod %p to %d", fe, mode); in dib9000_fw_set_output_mode()
1559 dprintk("Unhandled output_mode passed to be set for demod %p", &state->fe[0]); in dib9000_fw_set_output_mode()
1640 int dib9000_fw_set_component_bus_speed(struct dvb_frontend *fe, u16 speed) in dib9000_fw_set_component_bus_speed() argument
1642 struct dib9000_state *state = fe->demodulator_priv; in dib9000_fw_set_component_bus_speed()
1720 struct i2c_adapter *dib9000_get_tuner_interface(struct dvb_frontend *fe) in dib9000_get_tuner_interface() argument
1722 struct dib9000_state *st = fe->demodulator_priv; in dib9000_get_tuner_interface()
1727 struct i2c_adapter *dib9000_get_component_bus_interface(struct dvb_frontend *fe) in dib9000_get_component_bus_interface() argument
1729 struct dib9000_state *st = fe->demodulator_priv; in dib9000_get_component_bus_interface()
1734 struct i2c_adapter *dib9000_get_i2c_master(struct dvb_frontend *fe, enum dibx000_i2c_interface intf… in dib9000_get_i2c_master() argument
1736 struct dib9000_state *st = fe->demodulator_priv; in dib9000_get_i2c_master()
1741 int dib9000_set_i2c_adapter(struct dvb_frontend *fe, struct i2c_adapter *i2c) in dib9000_set_i2c_adapter() argument
1743 struct dib9000_state *st = fe->demodulator_priv; in dib9000_set_i2c_adapter()
1767 int dib9000_set_gpio(struct dvb_frontend *fe, u8 num, u8 dir, u8 val) in dib9000_set_gpio() argument
1769 struct dib9000_state *state = fe->demodulator_priv; in dib9000_set_gpio()
1774 int dib9000_fw_pid_filter_ctrl(struct dvb_frontend *fe, u8 onoff) in dib9000_fw_pid_filter_ctrl() argument
1776 struct dib9000_state *state = fe->demodulator_priv; in dib9000_fw_pid_filter_ctrl()
1805 int dib9000_fw_pid_filter(struct dvb_frontend *fe, u8 id, u16 pid, u8 onoff) in dib9000_fw_pid_filter() argument
1807 struct dib9000_state *state = fe->demodulator_priv; in dib9000_fw_pid_filter()
1836 int dib9000_firmware_post_pll_init(struct dvb_frontend *fe) in dib9000_firmware_post_pll_init() argument
1838 struct dib9000_state *state = fe->demodulator_priv; in dib9000_firmware_post_pll_init()
1848 …for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (st->fe[index_frontend] != … in dib9000_release()
1849 dvb_frontend_detach(st->fe[index_frontend]); in dib9000_release()
1855 kfree(st->fe[0]); in dib9000_release()
1859 static int dib9000_wakeup(struct dvb_frontend *fe) in dib9000_wakeup() argument
1864 static int dib9000_sleep(struct dvb_frontend *fe) in dib9000_sleep() argument
1866 struct dib9000_state *state = fe->demodulator_priv; in dib9000_sleep()
1874 …for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib9000_sleep()
1875 ret = state->fe[index_frontend]->ops.sleep(state->fe[index_frontend]); in dib9000_sleep()
1886 static int dib9000_fe_get_tune_settings(struct dvb_frontend *fe, struct dvb_frontend_tune_settings … in dib9000_fe_get_tune_settings() argument
1892 static int dib9000_get_frontend(struct dvb_frontend *fe) in dib9000_get_frontend() argument
1894 struct dib9000_state *state = fe->demodulator_priv; in dib9000_get_frontend()
1906 …for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib9000_get_frontend()
1907 state->fe[index_frontend]->ops.read_status(state->fe[index_frontend], &stat); in dib9000_get_frontend()
1912 state->fe[index_frontend]->ops.get_frontend(state->fe[index_frontend]); in dib9000_get_frontend()
1913 …for (sub_index_frontend = 0; (sub_index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[sub_inde… in dib9000_get_frontend()
1916 state->fe[sub_index_frontend]->dtv_property_cache.modulation = in dib9000_get_frontend()
1917 state->fe[index_frontend]->dtv_property_cache.modulation; in dib9000_get_frontend()
1918 state->fe[sub_index_frontend]->dtv_property_cache.inversion = in dib9000_get_frontend()
1919 state->fe[index_frontend]->dtv_property_cache.inversion; in dib9000_get_frontend()
1920 state->fe[sub_index_frontend]->dtv_property_cache.transmission_mode = in dib9000_get_frontend()
1921 state->fe[index_frontend]->dtv_property_cache.transmission_mode; in dib9000_get_frontend()
1922 state->fe[sub_index_frontend]->dtv_property_cache.guard_interval = in dib9000_get_frontend()
1923 state->fe[index_frontend]->dtv_property_cache.guard_interval; in dib9000_get_frontend()
1924 state->fe[sub_index_frontend]->dtv_property_cache.hierarchy = in dib9000_get_frontend()
1925 state->fe[index_frontend]->dtv_property_cache.hierarchy; in dib9000_get_frontend()
1926 state->fe[sub_index_frontend]->dtv_property_cache.code_rate_HP = in dib9000_get_frontend()
1927 state->fe[index_frontend]->dtv_property_cache.code_rate_HP; in dib9000_get_frontend()
1928 state->fe[sub_index_frontend]->dtv_property_cache.code_rate_LP = in dib9000_get_frontend()
1929 state->fe[index_frontend]->dtv_property_cache.code_rate_LP; in dib9000_get_frontend()
1930 state->fe[sub_index_frontend]->dtv_property_cache.rolloff = in dib9000_get_frontend()
1931 state->fe[index_frontend]->dtv_property_cache.rolloff; in dib9000_get_frontend()
1940 ret = dib9000_fw_get_channel(fe); in dib9000_get_frontend()
1945 …for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib9000_get_frontend()
1946 state->fe[index_frontend]->dtv_property_cache.inversion = fe->dtv_property_cache.inversion; in dib9000_get_frontend()
1947 …state->fe[index_frontend]->dtv_property_cache.transmission_mode = fe->dtv_property_cache.transmiss… in dib9000_get_frontend()
1948 …state->fe[index_frontend]->dtv_property_cache.guard_interval = fe->dtv_property_cache.guard_interv… in dib9000_get_frontend()
1949 state->fe[index_frontend]->dtv_property_cache.modulation = fe->dtv_property_cache.modulation; in dib9000_get_frontend()
1950 state->fe[index_frontend]->dtv_property_cache.hierarchy = fe->dtv_property_cache.hierarchy; in dib9000_get_frontend()
1951 state->fe[index_frontend]->dtv_property_cache.code_rate_HP = fe->dtv_property_cache.code_rate_HP; in dib9000_get_frontend()
1952 state->fe[index_frontend]->dtv_property_cache.code_rate_LP = fe->dtv_property_cache.code_rate_LP; in dib9000_get_frontend()
1953 state->fe[index_frontend]->dtv_property_cache.rolloff = fe->dtv_property_cache.rolloff; in dib9000_get_frontend()
1963 static int dib9000_set_tune_state(struct dvb_frontend *fe, enum frontend_tune_state tune_state) in dib9000_set_tune_state() argument
1965 struct dib9000_state *state = fe->demodulator_priv; in dib9000_set_tune_state()
1973 static u32 dib9000_get_status(struct dvb_frontend *fe) in dib9000_get_status() argument
1975 struct dib9000_state *state = fe->demodulator_priv; in dib9000_get_status()
1979 static int dib9000_set_channel_status(struct dvb_frontend *fe, struct dvb_frontend_parametersContex… in dib9000_set_channel_status() argument
1981 struct dib9000_state *state = fe->demodulator_priv; in dib9000_set_channel_status()
1987 static int dib9000_set_frontend(struct dvb_frontend *fe) in dib9000_set_frontend() argument
1989 struct dib9000_state *state = fe->demodulator_priv; in dib9000_set_frontend()
1996 if (state->fe[0]->dtv_property_cache.frequency == 0) { in dib9000_set_frontend()
2001 if (state->fe[0]->dtv_property_cache.bandwidth_hz == 0) { in dib9000_set_frontend()
2012 fe->dtv_property_cache.delivery_system = SYS_DVBT; in dib9000_set_frontend()
2015 if (state->fe[0]->dtv_property_cache.transmission_mode == TRANSMISSION_MODE_AUTO || in dib9000_set_frontend()
2016 state->fe[0]->dtv_property_cache.guard_interval == GUARD_INTERVAL_AUTO || in dib9000_set_frontend()
2017 state->fe[0]->dtv_property_cache.modulation == QAM_AUTO || in dib9000_set_frontend()
2018 state->fe[0]->dtv_property_cache.code_rate_HP == FEC_AUTO) { in dib9000_set_frontend()
2025 …for (index_frontend = 0; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib9000_set_frontend()
2026 dib9000_fw_set_diversity_in(state->fe[index_frontend], 1); in dib9000_set_frontend()
2029 …memcpy(&state->fe[index_frontend]->dtv_property_cache, &fe->dtv_property_cache, sizeof(struct dtv_… in dib9000_set_frontend()
2031 state->fe[index_frontend]->dtv_property_cache.delivery_system = SYS_DVBT; in dib9000_set_frontend()
2032 dib9000_fw_set_output_mode(state->fe[index_frontend], OUTMODE_HIGH_Z); in dib9000_set_frontend()
2034 dib9000_set_channel_status(state->fe[index_frontend], &state->channel_status); in dib9000_set_frontend()
2035 dib9000_set_tune_state(state->fe[index_frontend], CT_DEMOD_START); in dib9000_set_frontend()
2042 sleep_time = dib9000_fw_tune(state->fe[0]); in dib9000_set_frontend()
2043 …for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib9000_set_frontend()
2044 sleep_time_slave = dib9000_fw_tune(state->fe[index_frontend]); in dib9000_set_frontend()
2058 …for (index_frontend = 0; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib9000_set_frontend()
2059 frontend_status = -dib9000_get_status(state->fe[index_frontend]); in dib9000_set_frontend()
2086 dib9000_get_frontend(state->fe[0]); in dib9000_set_frontend()
2091 …for (index_frontend = 0; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib9000_set_frontend()
2094 dib9000_set_channel_status(state->fe[index_frontend], &channel_status); in dib9000_set_frontend()
2095 dib9000_set_tune_state(state->fe[index_frontend], CT_DEMOD_START); in dib9000_set_frontend()
2100 …for (index_frontend = 0; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib9000_set_frontend()
2102 sleep_time_slave = dib9000_fw_tune(state->fe[index_frontend]); in dib9000_set_frontend()
2115 …for (index_frontend = 0; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib9000_set_frontend()
2117 frontend_status = -dib9000_get_status(state->fe[index_frontend]); in dib9000_set_frontend()
2125 dib9000_fw_set_output_mode(state->fe[0], state->chip.d9.cfg.output_mode); in dib9000_set_frontend()
2126 …for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib9000_set_frontend()
2127 dib9000_fw_set_output_mode(state->fe[index_frontend], OUTMODE_DIVERSITY); in dib9000_set_frontend()
2130 dib9000_fw_set_diversity_in(state->fe[index_frontend - 1], 0); in dib9000_set_frontend()
2142 dib9000_fw_pid_filter_ctrl(state->fe[0], in dib9000_set_frontend()
2145 dib9000_fw_pid_filter(state->fe[0], in dib9000_set_frontend()
2157 static u16 dib9000_read_lock(struct dvb_frontend *fe) in dib9000_read_lock() argument
2159 struct dib9000_state *state = fe->demodulator_priv; in dib9000_read_lock()
2164 static int dib9000_read_status(struct dvb_frontend *fe, enum fe_status *stat) in dib9000_read_status() argument
2166 struct dib9000_state *state = fe->demodulator_priv; in dib9000_read_status()
2174 …for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib9000_read_status()
2175 lock_slave |= dib9000_read_lock(state->fe[index_frontend]); in dib9000_read_status()
2197 static int dib9000_read_ber(struct dvb_frontend *fe, u32 * ber) in dib9000_read_ber() argument
2199 struct dib9000_state *state = fe->demodulator_priv; in dib9000_read_ber()
2230 static int dib9000_read_signal_strength(struct dvb_frontend *fe, u16 * strength) in dib9000_read_signal_strength() argument
2232 struct dib9000_state *state = fe->demodulator_priv; in dib9000_read_signal_strength()
2243 …for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib9000_read_signal_strength()
2244 state->fe[index_frontend]->ops.read_signal_strength(state->fe[index_frontend], &val); in dib9000_read_signal_strength()
2275 static u32 dib9000_get_snr(struct dvb_frontend *fe) in dib9000_get_snr() argument
2277 struct dib9000_state *state = fe->demodulator_priv; in dib9000_get_snr()
2315 static int dib9000_read_snr(struct dvb_frontend *fe, u16 * snr) in dib9000_read_snr() argument
2317 struct dib9000_state *state = fe->demodulator_priv; in dib9000_read_snr()
2325 snr_master = dib9000_get_snr(fe); in dib9000_read_snr()
2326 …for (index_frontend = 1; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] … in dib9000_read_snr()
2327 snr_master += dib9000_get_snr(state->fe[index_frontend]); in dib9000_read_snr()
2340 static int dib9000_read_unc_blocks(struct dvb_frontend *fe, u32 * unc) in dib9000_read_unc_blocks() argument
2342 struct dib9000_state *state = fe->demodulator_priv; in dib9000_read_unc_blocks()
2439 int dib9000_set_slave_frontend(struct dvb_frontend *fe, struct dvb_frontend *fe_slave) in dib9000_set_slave_frontend() argument
2441 struct dib9000_state *state = fe->demodulator_priv; in dib9000_set_slave_frontend()
2444 while ((index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL)) in dib9000_set_slave_frontend()
2448 state->fe[index_frontend] = fe_slave; in dib9000_set_slave_frontend()
2457 int dib9000_remove_slave_frontend(struct dvb_frontend *fe) in dib9000_remove_slave_frontend() argument
2459 struct dib9000_state *state = fe->demodulator_priv; in dib9000_remove_slave_frontend()
2462 while ((index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL)) in dib9000_remove_slave_frontend()
2465 dprintk("remove slave fe %p (index %i)", state->fe[index_frontend - 1], index_frontend - 1); in dib9000_remove_slave_frontend()
2466 state->fe[index_frontend] = NULL; in dib9000_remove_slave_frontend()
2475 struct dvb_frontend *dib9000_get_slave_frontend(struct dvb_frontend *fe, int slave_index) in dib9000_get_slave_frontend() argument
2477 struct dib9000_state *state = fe->demodulator_priv; in dib9000_get_slave_frontend()
2481 return state->fe[slave_index]; in dib9000_get_slave_frontend()
2488 struct dvb_frontend *fe; in dib9000_attach() local
2493 fe = kzalloc(sizeof(struct dvb_frontend), GFP_KERNEL); in dib9000_attach()
2494 if (fe == NULL) { in dib9000_attach()
2518 st->fe[0] = fe; in dib9000_attach()
2519 fe->demodulator_priv = st; in dib9000_attach()
2520 memcpy(&st->fe[0]->ops, &dib9000_ops, sizeof(struct dvb_frontend_ops)); in dib9000_attach()
2550 dib9000_fw_reset(fe); in dib9000_attach()
2552 return fe; in dib9000_attach()