mirror of https://gitee.com/openkylin/linux.git
DVB: firedtv: FireDTV S2 problems with tuning solved
Signed-off-by: Beat Michel Liechti <bml303@gmail.com> Tuning was broken on FireDTV S2 (and presumably FloppyDTV S2) because a wrong opcode was sent. The box only gave "not implemented" responses. Changing the opcode to _TUNE_QPSK2 fixes this for good. Cc: stable@kernel.org Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
This commit is contained in:
parent
40cf65d149
commit
32a0f488ce
|
@ -135,6 +135,7 @@ static const char *debug_fcp_opcode(unsigned int opcode,
|
|||
case SFE_VENDOR_OPCODE_REGISTER_REMOTE_CONTROL: return "RegisterRC";
|
||||
case SFE_VENDOR_OPCODE_LNB_CONTROL: return "LNBControl";
|
||||
case SFE_VENDOR_OPCODE_TUNE_QPSK: return "TuneQPSK";
|
||||
case SFE_VENDOR_OPCODE_TUNE_QPSK2: return "TuneQPSK2";
|
||||
case SFE_VENDOR_OPCODE_HOST2CA: return "Host2CA";
|
||||
case SFE_VENDOR_OPCODE_CA2HOST: return "CA2Host";
|
||||
}
|
||||
|
@ -266,7 +267,10 @@ static void avc_tuner_tuneqpsk(struct firedtv *fdtv,
|
|||
c->operand[0] = SFE_VENDOR_DE_COMPANYID_0;
|
||||
c->operand[1] = SFE_VENDOR_DE_COMPANYID_1;
|
||||
c->operand[2] = SFE_VENDOR_DE_COMPANYID_2;
|
||||
c->operand[3] = SFE_VENDOR_OPCODE_TUNE_QPSK;
|
||||
if (fdtv->type == FIREDTV_DVB_S2)
|
||||
c->operand[3] = SFE_VENDOR_OPCODE_TUNE_QPSK2;
|
||||
else
|
||||
c->operand[3] = SFE_VENDOR_OPCODE_TUNE_QPSK;
|
||||
|
||||
c->operand[4] = (params->frequency >> 24) & 0xff;
|
||||
c->operand[5] = (params->frequency >> 16) & 0xff;
|
||||
|
|
Loading…
Reference in New Issue