forked from Minki/linux
[media] stv090x: Fix losing lock in dual DVB-S2 mode
Do not clear registers ACLC/BCLC in DVB-S2 mode for Cut <= 20. Otherwise, the demod could lose the lock periodically. Verified with cineS2 and Duoflex. Signed-off-by: Oliver Endriss <o.endriss@gmx.de> Signed-off-by: Manu Abraham <manu@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
908f668bfb
commit
179fd15a99
@ -2894,10 +2894,12 @@ static int stv090x_optimize_track(struct stv090x_state *state)
|
||||
STV090x_SETFIELD_Px(reg, DVBS2_ENABLE_FIELD, 1);
|
||||
if (STV090x_WRITE_DEMOD(state, DMDCFGMD, reg) < 0)
|
||||
goto err;
|
||||
if (STV090x_WRITE_DEMOD(state, ACLC, 0) < 0)
|
||||
goto err;
|
||||
if (STV090x_WRITE_DEMOD(state, BCLC, 0) < 0)
|
||||
goto err;
|
||||
if (state->internal->dev_ver >= 0x30) {
|
||||
if (STV090x_WRITE_DEMOD(state, ACLC, 0) < 0)
|
||||
goto err;
|
||||
if (STV090x_WRITE_DEMOD(state, BCLC, 0) < 0)
|
||||
goto err;
|
||||
}
|
||||
if (state->frame_len == STV090x_LONG_FRAME) {
|
||||
reg = STV090x_READ_DEMOD(state, DMDMODCOD);
|
||||
modcod = STV090x_GETFIELD_Px(reg, DEMOD_MODCOD_FIELD);
|
||||
|
Loading…
Reference in New Issue
Block a user