V4L/DVB (9470): Disable PLL Loop while tuning
Signed-off-by: Ales Jurik <ajurik@quick.cz> Signed-off-by: Manu Abraham <manu@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
committed by
Mauro Carvalho Chehab
parent
3f4009255b
commit
20dafb3b06
@@ -320,6 +320,13 @@ static int stb6100_set_frequency(struct dvb_frontend *fe, u32 frequency)
|
|||||||
}
|
}
|
||||||
srate = p.u.qpsk.symbol_rate;
|
srate = p.u.qpsk.symbol_rate;
|
||||||
|
|
||||||
|
regs[STB6100_DLB] = 0xdc;
|
||||||
|
/* Disable LPEN */
|
||||||
|
regs[STB6100_LPEN] &= ~STB6100_LPEN_LPEN; /* PLL Loop disabled */
|
||||||
|
|
||||||
|
if ((rc = stb6100_write_regs(state, regs)) < 0)
|
||||||
|
return rc;
|
||||||
|
|
||||||
/* Baseband gain. */
|
/* Baseband gain. */
|
||||||
if (srate >= 15000000)
|
if (srate >= 15000000)
|
||||||
g = 9; // +4 dB
|
g = 9; // +4 dB
|
||||||
@@ -376,9 +383,11 @@ static int stb6100_set_frequency(struct dvb_frontend *fe, u32 frequency)
|
|||||||
/* Power up. */
|
/* Power up. */
|
||||||
regs[STB6100_LPEN] |= STB6100_LPEN_SYNP | STB6100_LPEN_OSCP | STB6100_LPEN_BEN;
|
regs[STB6100_LPEN] |= STB6100_LPEN_SYNP | STB6100_LPEN_OSCP | STB6100_LPEN_BEN;
|
||||||
|
|
||||||
|
msleep(2);
|
||||||
if ((rc = stb6100_write_regs(state, regs)) < 0)
|
if ((rc = stb6100_write_regs(state, regs)) < 0)
|
||||||
return rc;
|
return rc;
|
||||||
|
|
||||||
|
msleep(2);
|
||||||
regs[STB6100_LPEN] |= STB6100_LPEN_LPEN; /* PLL loop enabled */
|
regs[STB6100_LPEN] |= STB6100_LPEN_LPEN; /* PLL loop enabled */
|
||||||
if ((rc = stb6100_write_reg(state, STB6100_LPEN, regs[STB6100_LPEN])) < 0)
|
if ((rc = stb6100_write_reg(state, STB6100_LPEN, regs[STB6100_LPEN])) < 0)
|
||||||
return rc;
|
return rc;
|
||||||
@@ -393,7 +402,8 @@ static int stb6100_set_frequency(struct dvb_frontend *fe, u32 frequency)
|
|||||||
if ((rc = stb6100_write_reg(state, STB6100_VCO, regs[STB6100_VCO])) < 0)
|
if ((rc = stb6100_write_reg(state, STB6100_VCO, regs[STB6100_VCO])) < 0)
|
||||||
return rc;
|
return rc;
|
||||||
regs[STB6100_FCCK] &= ~STB6100_FCCK_FCCK; /* LPF BW clock disabled */
|
regs[STB6100_FCCK] &= ~STB6100_FCCK_FCCK; /* LPF BW clock disabled */
|
||||||
if ((rc = stb6100_write_reg(state, STB6100_FCCK, regs[STB6100_FCCK])) < 0)
|
stb6100_normalise_regs(regs);
|
||||||
|
if ((rc = stb6100_write_reg_range(state, ®s[1], 1, STB6100_NUMREGS - 3)) < 0)
|
||||||
return rc;
|
return rc;
|
||||||
|
|
||||||
msleep(30);
|
msleep(30);
|
||||||
|
Reference in New Issue
Block a user