Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 32a0f488 authored by Beat Michel Liechti's avatar Beat Michel Liechti Committed by Stefan Richter
Browse files

DVB: firedtv: FireDTV S2 problems with tuning solved



Signed-off-by: default avatarBeat 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: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
parent 40cf65d1
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -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,6 +267,9 @@ 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;
	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;