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:
Reinhard Nissl 2008-07-09 15:38:27 -03:00 коммит произвёл Mauro Carvalho Chehab
Родитель c615a27a53
Коммит 9bb17eee39
2 изменённых файлов: 6 добавлений и 6 удалений

Просмотреть файл

@ -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)