summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/frontends/stb0899_drv.c
diff options
context:
space:
mode:
authorManu Abraham <manu@linuxtv.org>2007-07-02 16:01:48 +0400
committerManu Abraham <manu@linuxtv.org>2007-07-02 16:01:48 +0400
commite0bb0f04b51e3c228e90443b11880cdbdbfc08d4 (patch)
treeaf332d2df8f476d0f79c1378b142f7afff688814 /linux/drivers/media/dvb/frontends/stb0899_drv.c
parent43e837557b617862679d6ba6547ab531078c7620 (diff)
downloadmediapointer-dvb-s2-e0bb0f04b51e3c228e90443b11880cdbdbfc08d4.tar.gz
mediapointer-dvb-s2-e0bb0f04b51e3c228e90443b11880cdbdbfc08d4.tar.bz2
Use a delay for tracking acquisition status
From: Manu Abraham <abraham.manu@gmail.com> Signed-off-by: Manu Abraham <manu@linuxtv.org>
Diffstat (limited to 'linux/drivers/media/dvb/frontends/stb0899_drv.c')
-rw-r--r--linux/drivers/media/dvb/frontends/stb0899_drv.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/linux/drivers/media/dvb/frontends/stb0899_drv.c b/linux/drivers/media/dvb/frontends/stb0899_drv.c
index b2bb1c94a..d49263772 100644
--- a/linux/drivers/media/dvb/frontends/stb0899_drv.c
+++ b/linux/drivers/media/dvb/frontends/stb0899_drv.c
@@ -1873,11 +1873,14 @@ static int stb0899_get_modcod(struct stb0899_internal *internal, struct dvbs2_pa
* Once a new lock has established, the internal state
* frequency (internal->freq) is updated
*/
-static int stb0899_track(struct dvb_frontend *fe, struct dvbfe_params *params)
+static int stb0899_track(struct dvb_frontend *fe, struct dvbfe_params *params, int *delay)
{
+ u32 lock_lost;
+
struct stb0899_state *state = fe->demodulator_priv;
struct stb0899_internal *internal = &state->internal;
+#if 0
switch (state->delsys) {
case DVBFE_DELSYS_DVBS:
dprintk(verbose, FE_DEBUG, 1, "Tracking DVB-S state");
@@ -1925,6 +1928,13 @@ static int stb0899_track(struct dvb_frontend *fe, struct dvbfe_params *params)
dprintk(verbose, FE_ERROR, 1, "Unsupported delivery system");
return -EINVAL;
}
+#endif
+ lock_lost = STB0899_READ_S2REG(STB0899_S2DEMOD, LOCK_LOST);
+ dprintk(verbose, FE_DEBUG, 1, "Lock Lost=[0x%02x]\n", lock_lost);
+ if (STB0899_GETFIELD(LOCK_LOST, lock_lost))
+ dprintk(verbose, FE_ERROR, 1, "Demodulator LOST LOCK !\n");
+
+ *delay = HZ/10;
return 0;
}