Loading drivers/media/usb/as102/as102_fe.c +98 −103 Original line number Diff line number Diff line Loading @@ -30,104 +30,6 @@ struct as102_state { uint32_t ber; }; static void as10x_fe_copy_tps_parameters(struct dtv_frontend_properties *fe_tps, struct as10x_tps *as10x_tps) { /* extract constellation */ switch (as10x_tps->modulation) { case CONST_QPSK: fe_tps->modulation = QPSK; break; case CONST_QAM16: fe_tps->modulation = QAM_16; break; case CONST_QAM64: fe_tps->modulation = QAM_64; break; } /* extract hierarchy */ switch (as10x_tps->hierarchy) { case HIER_NONE: fe_tps->hierarchy = HIERARCHY_NONE; break; case HIER_ALPHA_1: fe_tps->hierarchy = HIERARCHY_1; break; case HIER_ALPHA_2: fe_tps->hierarchy = HIERARCHY_2; break; case HIER_ALPHA_4: fe_tps->hierarchy = HIERARCHY_4; break; } /* extract code rate HP */ switch (as10x_tps->code_rate_HP) { case CODE_RATE_1_2: fe_tps->code_rate_HP = FEC_1_2; break; case CODE_RATE_2_3: fe_tps->code_rate_HP = FEC_2_3; break; case CODE_RATE_3_4: fe_tps->code_rate_HP = FEC_3_4; break; case CODE_RATE_5_6: fe_tps->code_rate_HP = FEC_5_6; break; case CODE_RATE_7_8: fe_tps->code_rate_HP = FEC_7_8; break; } /* extract code rate LP */ switch (as10x_tps->code_rate_LP) { case CODE_RATE_1_2: fe_tps->code_rate_LP = FEC_1_2; break; case CODE_RATE_2_3: fe_tps->code_rate_LP = FEC_2_3; break; case CODE_RATE_3_4: fe_tps->code_rate_LP = FEC_3_4; break; case CODE_RATE_5_6: fe_tps->code_rate_LP = FEC_5_6; break; case CODE_RATE_7_8: fe_tps->code_rate_LP = FEC_7_8; break; } /* extract guard interval */ switch (as10x_tps->guard_interval) { case GUARD_INT_1_32: fe_tps->guard_interval = GUARD_INTERVAL_1_32; break; case GUARD_INT_1_16: fe_tps->guard_interval = GUARD_INTERVAL_1_16; break; case GUARD_INT_1_8: fe_tps->guard_interval = GUARD_INTERVAL_1_8; break; case GUARD_INT_1_4: fe_tps->guard_interval = GUARD_INTERVAL_1_4; break; } /* extract transmission mode */ switch (as10x_tps->transmission_mode) { case TRANS_MODE_2K: fe_tps->transmission_mode = TRANSMISSION_MODE_2K; break; case TRANS_MODE_8K: fe_tps->transmission_mode = TRANSMISSION_MODE_8K; break; } } static uint8_t as102_fe_get_code_rate(fe_code_rate_t arg) { uint8_t c; Loading Loading @@ -300,7 +202,7 @@ static int as102_fe_set_frontend(struct dvb_frontend *fe) static int as102_fe_get_frontend(struct dvb_frontend *fe) { struct as102_state *state = fe->demodulator_priv; struct dtv_frontend_properties *p = &fe->dtv_property_cache; struct dtv_frontend_properties *c = &fe->dtv_property_cache; int ret = 0; struct as10x_tps tps = { 0 }; Loading @@ -310,12 +212,105 @@ static int as102_fe_get_frontend(struct dvb_frontend *fe) /* send abilis command: GET_TPS */ ret = as10x_cmd_get_tps(state->bus_adap, &tps); if (ret == 0) as10x_fe_copy_tps_parameters(p, &tps); mutex_unlock(&state->bus_adap->lock); return (ret < 0) ? -EINVAL : 0; if (ret < 0) return ret; /* extract constellation */ switch (tps.modulation) { case CONST_QPSK: c->modulation = QPSK; break; case CONST_QAM16: c->modulation = QAM_16; break; case CONST_QAM64: c->modulation = QAM_64; break; } /* extract hierarchy */ switch (tps.hierarchy) { case HIER_NONE: c->hierarchy = HIERARCHY_NONE; break; case HIER_ALPHA_1: c->hierarchy = HIERARCHY_1; break; case HIER_ALPHA_2: c->hierarchy = HIERARCHY_2; break; case HIER_ALPHA_4: c->hierarchy = HIERARCHY_4; break; } /* extract code rate HP */ switch (tps.code_rate_HP) { case CODE_RATE_1_2: c->code_rate_HP = FEC_1_2; break; case CODE_RATE_2_3: c->code_rate_HP = FEC_2_3; break; case CODE_RATE_3_4: c->code_rate_HP = FEC_3_4; break; case CODE_RATE_5_6: c->code_rate_HP = FEC_5_6; break; case CODE_RATE_7_8: c->code_rate_HP = FEC_7_8; break; } /* extract code rate LP */ switch (tps.code_rate_LP) { case CODE_RATE_1_2: c->code_rate_LP = FEC_1_2; break; case CODE_RATE_2_3: c->code_rate_LP = FEC_2_3; break; case CODE_RATE_3_4: c->code_rate_LP = FEC_3_4; break; case CODE_RATE_5_6: c->code_rate_LP = FEC_5_6; break; case CODE_RATE_7_8: c->code_rate_LP = FEC_7_8; break; } /* extract guard interval */ switch (tps.guard_interval) { case GUARD_INT_1_32: c->guard_interval = GUARD_INTERVAL_1_32; break; case GUARD_INT_1_16: c->guard_interval = GUARD_INTERVAL_1_16; break; case GUARD_INT_1_8: c->guard_interval = GUARD_INTERVAL_1_8; break; case GUARD_INT_1_4: c->guard_interval = GUARD_INTERVAL_1_4; break; } /* extract transmission mode */ switch (tps.transmission_mode) { case TRANS_MODE_2K: c->transmission_mode = TRANSMISSION_MODE_2K; break; case TRANS_MODE_8K: c->transmission_mode = TRANSMISSION_MODE_8K; break; } return 0; } static int as102_fe_get_tune_settings(struct dvb_frontend *fe, Loading Loading
drivers/media/usb/as102/as102_fe.c +98 −103 Original line number Diff line number Diff line Loading @@ -30,104 +30,6 @@ struct as102_state { uint32_t ber; }; static void as10x_fe_copy_tps_parameters(struct dtv_frontend_properties *fe_tps, struct as10x_tps *as10x_tps) { /* extract constellation */ switch (as10x_tps->modulation) { case CONST_QPSK: fe_tps->modulation = QPSK; break; case CONST_QAM16: fe_tps->modulation = QAM_16; break; case CONST_QAM64: fe_tps->modulation = QAM_64; break; } /* extract hierarchy */ switch (as10x_tps->hierarchy) { case HIER_NONE: fe_tps->hierarchy = HIERARCHY_NONE; break; case HIER_ALPHA_1: fe_tps->hierarchy = HIERARCHY_1; break; case HIER_ALPHA_2: fe_tps->hierarchy = HIERARCHY_2; break; case HIER_ALPHA_4: fe_tps->hierarchy = HIERARCHY_4; break; } /* extract code rate HP */ switch (as10x_tps->code_rate_HP) { case CODE_RATE_1_2: fe_tps->code_rate_HP = FEC_1_2; break; case CODE_RATE_2_3: fe_tps->code_rate_HP = FEC_2_3; break; case CODE_RATE_3_4: fe_tps->code_rate_HP = FEC_3_4; break; case CODE_RATE_5_6: fe_tps->code_rate_HP = FEC_5_6; break; case CODE_RATE_7_8: fe_tps->code_rate_HP = FEC_7_8; break; } /* extract code rate LP */ switch (as10x_tps->code_rate_LP) { case CODE_RATE_1_2: fe_tps->code_rate_LP = FEC_1_2; break; case CODE_RATE_2_3: fe_tps->code_rate_LP = FEC_2_3; break; case CODE_RATE_3_4: fe_tps->code_rate_LP = FEC_3_4; break; case CODE_RATE_5_6: fe_tps->code_rate_LP = FEC_5_6; break; case CODE_RATE_7_8: fe_tps->code_rate_LP = FEC_7_8; break; } /* extract guard interval */ switch (as10x_tps->guard_interval) { case GUARD_INT_1_32: fe_tps->guard_interval = GUARD_INTERVAL_1_32; break; case GUARD_INT_1_16: fe_tps->guard_interval = GUARD_INTERVAL_1_16; break; case GUARD_INT_1_8: fe_tps->guard_interval = GUARD_INTERVAL_1_8; break; case GUARD_INT_1_4: fe_tps->guard_interval = GUARD_INTERVAL_1_4; break; } /* extract transmission mode */ switch (as10x_tps->transmission_mode) { case TRANS_MODE_2K: fe_tps->transmission_mode = TRANSMISSION_MODE_2K; break; case TRANS_MODE_8K: fe_tps->transmission_mode = TRANSMISSION_MODE_8K; break; } } static uint8_t as102_fe_get_code_rate(fe_code_rate_t arg) { uint8_t c; Loading Loading @@ -300,7 +202,7 @@ static int as102_fe_set_frontend(struct dvb_frontend *fe) static int as102_fe_get_frontend(struct dvb_frontend *fe) { struct as102_state *state = fe->demodulator_priv; struct dtv_frontend_properties *p = &fe->dtv_property_cache; struct dtv_frontend_properties *c = &fe->dtv_property_cache; int ret = 0; struct as10x_tps tps = { 0 }; Loading @@ -310,12 +212,105 @@ static int as102_fe_get_frontend(struct dvb_frontend *fe) /* send abilis command: GET_TPS */ ret = as10x_cmd_get_tps(state->bus_adap, &tps); if (ret == 0) as10x_fe_copy_tps_parameters(p, &tps); mutex_unlock(&state->bus_adap->lock); return (ret < 0) ? -EINVAL : 0; if (ret < 0) return ret; /* extract constellation */ switch (tps.modulation) { case CONST_QPSK: c->modulation = QPSK; break; case CONST_QAM16: c->modulation = QAM_16; break; case CONST_QAM64: c->modulation = QAM_64; break; } /* extract hierarchy */ switch (tps.hierarchy) { case HIER_NONE: c->hierarchy = HIERARCHY_NONE; break; case HIER_ALPHA_1: c->hierarchy = HIERARCHY_1; break; case HIER_ALPHA_2: c->hierarchy = HIERARCHY_2; break; case HIER_ALPHA_4: c->hierarchy = HIERARCHY_4; break; } /* extract code rate HP */ switch (tps.code_rate_HP) { case CODE_RATE_1_2: c->code_rate_HP = FEC_1_2; break; case CODE_RATE_2_3: c->code_rate_HP = FEC_2_3; break; case CODE_RATE_3_4: c->code_rate_HP = FEC_3_4; break; case CODE_RATE_5_6: c->code_rate_HP = FEC_5_6; break; case CODE_RATE_7_8: c->code_rate_HP = FEC_7_8; break; } /* extract code rate LP */ switch (tps.code_rate_LP) { case CODE_RATE_1_2: c->code_rate_LP = FEC_1_2; break; case CODE_RATE_2_3: c->code_rate_LP = FEC_2_3; break; case CODE_RATE_3_4: c->code_rate_LP = FEC_3_4; break; case CODE_RATE_5_6: c->code_rate_LP = FEC_5_6; break; case CODE_RATE_7_8: c->code_rate_LP = FEC_7_8; break; } /* extract guard interval */ switch (tps.guard_interval) { case GUARD_INT_1_32: c->guard_interval = GUARD_INTERVAL_1_32; break; case GUARD_INT_1_16: c->guard_interval = GUARD_INTERVAL_1_16; break; case GUARD_INT_1_8: c->guard_interval = GUARD_INTERVAL_1_8; break; case GUARD_INT_1_4: c->guard_interval = GUARD_INTERVAL_1_4; break; } /* extract transmission mode */ switch (tps.transmission_mode) { case TRANS_MODE_2K: c->transmission_mode = TRANSMISSION_MODE_2K; break; case TRANS_MODE_8K: c->transmission_mode = TRANSMISSION_MODE_8K; break; } return 0; } static int as102_fe_get_tune_settings(struct dvb_frontend *fe, Loading