aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/common
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@kernellabs.com>2011-04-16 13:22:10 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-04-19 11:32:44 -0300
commit3f688e8c62fb69ff65bc9325831b5b3d3f5ef8ed (patch)
treeaa5fc2696c410d3dc09bccb4c5a9ec7c2e3dc341 /drivers/media/common
parent381ad0ea146465406a0740f437e9971ceb6465a9 (diff)
downloadkernel_samsung_smdk4412-3f688e8c62fb69ff65bc9325831b5b3d3f5ef8ed.zip
kernel_samsung_smdk4412-3f688e8c62fb69ff65bc9325831b5b3d3f5ef8ed.tar.gz
kernel_samsung_smdk4412-3f688e8c62fb69ff65bc9325831b5b3d3f5ef8ed.tar.bz2
[media] tda18271: fix bad calculation of main post divider byte
R_MPD bit 3 does not depend on analog vs. digital. Just use (0x7f & pd) directly from the values in the main pll table. Thanks to Stefan Sibiga for pointing this out. Cc: Stefan Sibiga <stefansibiga@yahoo.ca> Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/common')
-rw-r--r--drivers/media/common/tuners/tda18271-common.c11
1 files changed, 1 insertions, 10 deletions
diff --git a/drivers/media/common/tuners/tda18271-common.c b/drivers/media/common/tuners/tda18271-common.c
index 5466d47..aae40e5 100644
--- a/drivers/media/common/tuners/tda18271-common.c
+++ b/drivers/media/common/tuners/tda18271-common.c
@@ -533,16 +533,7 @@ int tda18271_calc_main_pll(struct dvb_frontend *fe, u32 freq)
if (tda_fail(ret))
goto fail;
- regs[R_MPD] = (0x77 & pd);
-
- switch (priv->mode) {
- case TDA18271_ANALOG:
- regs[R_MPD] &= ~0x08;
- break;
- case TDA18271_DIGITAL:
- regs[R_MPD] |= 0x08;
- break;
- }
+ regs[R_MPD] = (0x7f & pd);
div = ((d * (freq / 1000)) << 7) / 125;