diff options
author | Michael Krufky <mkrufky@linuxtv.org> | 2008-04-22 14:46:22 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-04-24 14:07:55 -0300 |
commit | 40194b2b1bdd01358c1e9b5a9b8dd78390cc05f7 (patch) | |
tree | e1694da299044bb296ef998baf2875444f89f4af /drivers/media/dvb/frontends | |
parent | e7809a07663f868f596b5f08a63db9a32240502c (diff) |
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>
Diffstat (limited to 'drivers/media/dvb/frontends')
-rw-r--r-- | drivers/media/dvb/frontends/tda18271-fe.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/media/dvb/frontends/tda18271-fe.c b/drivers/media/dvb/frontends/tda18271-fe.c index 4a025849a327..b3b0425dbbed 100644 --- a/drivers/media/dvb/frontends/tda18271-fe.c +++ b/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; } |