diff options
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/dvb/bt8xx/dst.c | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/drivers/media/dvb/bt8xx/dst.c b/drivers/media/dvb/bt8xx/dst.c index d047e349d706..2efc6f1caf84 100644 --- a/drivers/media/dvb/bt8xx/dst.c +++ b/drivers/media/dvb/bt8xx/dst.c | |||
@@ -915,13 +915,11 @@ static int dst_tone_power_cmd(struct dst_state* state) | |||
915 | paket[2] = 0x02; | 915 | paket[2] = 0x02; |
916 | else | 916 | else |
917 | paket[2] = 0; | 917 | paket[2] = 0; |
918 | if (state->minicmd == SEC_MINI_A) | ||
919 | paket[3] = 0x02; | ||
920 | else | ||
921 | paket[3] = 0; | ||
922 | 918 | ||
919 | paket[3] = state->tx_tuna[3]; | ||
923 | paket[7] = dst_check_sum (paket, 7); | 920 | paket[7] = dst_check_sum (paket, 7); |
924 | dst_command(state, paket, 8); | 921 | dst_command(state, paket, 8); |
922 | |||
925 | return 0; | 923 | return 0; |
926 | } | 924 | } |
927 | 925 | ||
@@ -1134,6 +1132,29 @@ static int dst_set_tone(struct dvb_frontend* fe, fe_sec_tone_mode_t tone) | |||
1134 | return 0; | 1132 | return 0; |
1135 | } | 1133 | } |
1136 | 1134 | ||
1135 | static int dst_send_burst(struct dvb_frontend *fe, fe_sec_mini_cmd_t minicmd) | ||
1136 | { | ||
1137 | struct dst_state *state = fe->demodulator_priv; | ||
1138 | |||
1139 | if ((state->dst_type == DST_TYPE_IS_TERR) || (state->dst_type == DST_TYPE_IS_CABLE)) | ||
1140 | return 0; | ||
1141 | |||
1142 | state->minicmd = minicmd; | ||
1143 | |||
1144 | switch (minicmd) { | ||
1145 | case SEC_MINI_A: | ||
1146 | state->tx_tuna[3] = 0x02; | ||
1147 | break; | ||
1148 | case SEC_MINI_B: | ||
1149 | state->tx_tuna[3] = 0xff; | ||
1150 | break; | ||
1151 | } | ||
1152 | dst_tone_power_cmd(state); | ||
1153 | |||
1154 | return 0; | ||
1155 | } | ||
1156 | |||
1157 | |||
1137 | static int dst_init(struct dvb_frontend* fe) | 1158 | static int dst_init(struct dvb_frontend* fe) |
1138 | { | 1159 | { |
1139 | struct dst_state* state = (struct dst_state*) fe->demodulator_priv; | 1160 | struct dst_state* state = (struct dst_state*) fe->demodulator_priv; |
@@ -1346,7 +1367,7 @@ static struct dvb_frontend_ops dst_dvbs_ops = { | |||
1346 | .read_signal_strength = dst_read_signal_strength, | 1367 | .read_signal_strength = dst_read_signal_strength, |
1347 | .read_snr = dst_read_snr, | 1368 | .read_snr = dst_read_snr, |
1348 | 1369 | ||
1349 | .diseqc_send_burst = dst_set_tone, | 1370 | .diseqc_send_burst = dst_send_burst, |
1350 | .diseqc_send_master_cmd = dst_set_diseqc, | 1371 | .diseqc_send_master_cmd = dst_set_diseqc, |
1351 | .set_voltage = dst_set_voltage, | 1372 | .set_voltage = dst_set_voltage, |
1352 | .set_tone = dst_set_tone, | 1373 | .set_tone = dst_set_tone, |