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

Commit 430e29d9 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

media: dvb-frontends/stv0367: Improve DVB-C/T frontend status



The stv0367 driver provide a lot of status on its state machine.
Change the logic to provide more information about frontend locking
status. Also, while any detailed status isn't available, provide a more
complete FE_STATUS for DVB-T.

Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
Signed-off-by: default avatarDaniel Scheller <d.scheller@gmx.net>
parent 006fe8ee
Loading
Loading
Loading
Loading
+14 −1
Original line number Diff line number Diff line
@@ -1509,7 +1509,8 @@ static int stv0367ter_read_status(struct dvb_frontend *fe,
	*status = 0;

	if (stv0367_readbits(state, F367TER_LK)) {
		*status |= FE_HAS_LOCK;
		*status = FE_HAS_SIGNAL | FE_HAS_CARRIER | FE_HAS_VITERBI
			  | FE_HAS_SYNC | FE_HAS_LOCK;
		dprintk("%s: stv0367 has locked\n", __func__);
	}

@@ -2157,6 +2158,18 @@ static int stv0367cab_read_status(struct dvb_frontend *fe,

	*status = 0;

	if (state->cab_state->state > FE_CAB_NOSIGNAL)
		*status |= FE_HAS_SIGNAL;

	if (state->cab_state->state > FE_CAB_NOCARRIER)
		*status |= FE_HAS_CARRIER;

	if (state->cab_state->state >= FE_CAB_DEMODOK)
		*status |= FE_HAS_VITERBI;

	if (state->cab_state->state >= FE_CAB_DATAOK)
		*status |= FE_HAS_SYNC;

	if (stv0367_readbits(state, (state->cab_state->qamfec_status_reg ?
		state->cab_state->qamfec_status_reg : F367CAB_QAMFEC_LOCK))) {
		*status |= FE_HAS_LOCK;