forked from luck/tmp_suning_uos_patched
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: Mauro Carvalho Chehab <mchehab@s-opensource.com> Signed-off-by: Daniel Scheller <d.scheller@gmx.net>
This commit is contained in:
parent
006fe8ee88
commit
430e29d9c0
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue
Block a user