V4L/DVB (9468): Miscellaneous fixes
- Fix a bitfield - Set gain appropriately - Slept for the wrong duration Signed-off-by: Reinhard Nissl <rnissl@gmx.de> Signed-off-by: Manu Abraham <manu@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
Родитель
c615a27a53
Коммит
9bb17eee39
|
@ -362,7 +362,7 @@
|
||||||
|
|
||||||
#define STB0899_OFF0_CRL_FREQ 0xf304
|
#define STB0899_OFF0_CRL_FREQ 0xf304
|
||||||
#define STB0899_BASE_CRL_FREQ 0x00000000
|
#define STB0899_BASE_CRL_FREQ 0x00000000
|
||||||
#define STB0899_CARR_FREQ (0x1fffffff << 0)
|
#define STB0899_CARR_FREQ (0x3fffffff << 0)
|
||||||
#define STB0899_OFFST_CARR_FREQ 0
|
#define STB0899_OFFST_CARR_FREQ 0
|
||||||
#define STB0899_WIDTH_CARR_FREQ 30
|
#define STB0899_WIDTH_CARR_FREQ 30
|
||||||
|
|
||||||
|
|
|
@ -338,11 +338,11 @@ static int stb6100_set_frequency(struct dvb_frontend *fe, u32 frequency)
|
||||||
|
|
||||||
/* Baseband gain. */
|
/* Baseband gain. */
|
||||||
if (srate >= 15000000)
|
if (srate >= 15000000)
|
||||||
g = 8;
|
g = 9; // +4 dB
|
||||||
else if (state->srate >= 5000000)
|
else if (srate >= 5000000)
|
||||||
g = 12;
|
g = 11; // +8 dB
|
||||||
else
|
else
|
||||||
g = 14;
|
g = 14; // +14 dB
|
||||||
|
|
||||||
regs[STB6100_G] = (regs[STB6100_G] & ~STB6100_G_G) | g;
|
regs[STB6100_G] = (regs[STB6100_G] & ~STB6100_G_G) | g;
|
||||||
regs[STB6100_G] &= ~STB6100_G_GCT; /* mask GCT */
|
regs[STB6100_G] &= ~STB6100_G_GCT; /* mask GCT */
|
||||||
|
@ -403,7 +403,7 @@ 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;
|
||||||
|
|
||||||
msleep(5); /* wait for LO to lock */
|
msleep(10); /* wait for LO to lock */
|
||||||
regs[STB6100_VCO] &= ~STB6100_VCO_OSCH; /* vco search disabled */
|
regs[STB6100_VCO] &= ~STB6100_VCO_OSCH; /* vco search disabled */
|
||||||
regs[STB6100_VCO] |= STB6100_VCO_OCK; /* search clock off */
|
regs[STB6100_VCO] |= STB6100_VCO_OCK; /* search clock off */
|
||||||
if ((rc = stb6100_write_reg(state, STB6100_VCO, regs[STB6100_VCO])) < 0)
|
if ((rc = stb6100_write_reg(state, STB6100_VCO, regs[STB6100_VCO])) < 0)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче