Browse Source

V4L/DVB (7434): tda18271: set rfagc modes during channel configuration

Set rfagc to high speed mode before setting the pll.
Set rfagc to normal speed mode at the end of the function.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Michael Krufky 17 years ago
parent
commit
40194b2b1b
1 changed files with 11 additions and 1 deletions
  1. 11 1
      drivers/media/dvb/frontends/tda18271-fe.c

+ 11 - 1
drivers/media/dvb/frontends/tda18271-fe.c

@@ -50,6 +50,9 @@ static int tda18271_channel_configuration(struct dvb_frontend *fe,
 	regs[R_EP3]  &= ~0x1f; /* clear std bits */
 	regs[R_EP3]  |= (map->agc_mode << 3) | map->std;
 
+	/* set rfagc to high speed mode */
+	regs[R_EP3] &= ~0x04;
+
 	/* set cal mode to normal */
 	regs[R_EP4]  &= ~0x03;
 
@@ -125,7 +128,14 @@ static int tda18271_channel_configuration(struct dvb_frontend *fe,
 	regs[R_EB4] &= ~0x20;
 	tda18271_write_regs(fe, R_EB4, 1);
 
-	msleep(5);
+	msleep(20);
+
+	/* set rfagc to normal speed mode */
+	if (map->fm_rfn)
+		regs[R_EP3] &= ~0x04;
+	else
+		regs[R_EP3] |= 0x04;
+	tda18271_write_regs(fe, R_EP3, 1);
 
 	return 0;
 }