Skip to contentSkip to conversation

af9013 Stop OFSM while channel changing.

PATCH In review Malcolm Priestley 2 participants 2 messages Nov 12, 2011 Media (V4L/DVB)

lore
Share & tools
lore
#0 lore raw

PATCH 6/7 af9013 Stop OFSM while channel changing.

To minimise corruptions on channel change.

---
 drivers/media/dvb/frontends/af9013.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)
drivers/media/dvb/frontends/af9013.c +4 -0
index 38a6ea2..6a5b40c 100644
@@ -629,6 +629,10 @@ static int af9013_set_frontend(struct dvb_frontend *fe,
 		params->u.ofdm.bandwidth);
 
 	state->frequency = params->frequency;
+	/* Stop OFSM */
+	ret = af9013_write_reg(state, 0xffff, 1);
+	if (ret)
+		goto error;
 
 	/* program tuner */
 	if (mutex_lock_interruptible(state->fe_mutex) < 0)
Signature · 1 line
1.7.5.4
#1 lore raw
Quoted 12 lines · Malcolm Priestley

To minimise corruptions on channel change.

---
  drivers/media/dvb/frontends/af9013.c |    4 ++++
  1 files changed, 4 insertions(+), 0 deletions(-)
drivers/media/dvb/frontends/af9013.c +0 -0
index 38a6ea2..6a5b40c 100644

drivers/media/dvb/frontends/af9013.c static int af9013_set_frontend(struct dvb_frontend *fe, · line 638

Quoted 10 lines
drivers/media/dvb/frontends/af9013.c +4 -0
@@ -629,6 +629,10 @@ static int af9013_set_frontend(struct dvb_frontend *fe,
  		params->u.ofdm.bandwidth);
 
  	state->frequency = params->frequency;
+	/* Stop OFSM */
+	ret = af9013_write_reg(state, 0xffff, 1);
+	if (ret)
+		goto error;
 
  	/* program tuner */
  	if (mutex_lock_interruptible(state->fe_mutex)<  0)

That seems to be simple.

That means there is no corruptions for the other frontend after that? It sounds rather weird that setting one registers to other demod helps the other demod. Generally programming one demod should not be any effect to other demods having the same board.

Or do you mean it block corruptions on demod in question? Corruptions in channel change sounds something like normal.

regards
Antti

Signature · 1 line
http://palosaari.fi/