diff options
author | Manu Abraham <manu@linuxtv.org> | 2008-07-09 22:38:27 +0400 |
---|---|---|
committer | Manu Abraham <manu@linuxtv.org> | 2008-07-09 22:38:27 +0400 |
commit | 84ff5e0bcaa2989c3fb8c2f75f39aaa3858dd767 (patch) | |
tree | 06d4bc7c7d3d40bdcb50af4781041f4637b58074 /linux/drivers/media/dvb/frontends | |
parent | 0ea79925035f398467b41e1a7541649767fc2fc5 (diff) | |
download | mediapointer-dvb-s2-84ff5e0bcaa2989c3fb8c2f75f39aaa3858dd767.tar.gz mediapointer-dvb-s2-84ff5e0bcaa2989c3fb8c2f75f39aaa3858dd767.tar.bz2 |
Miscellaneous fixes
- Fix a bitfield
- Set gain appropriately
- Slept for the wrong duration
From: Reinhard Nissl <rnissl@gmx.de>
Signed-off-by: Reinhard Nissl <rnissl@gmx.de>
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Diffstat (limited to 'linux/drivers/media/dvb/frontends')
-rw-r--r-- | linux/drivers/media/dvb/frontends/stb0899_reg.h | 2 | ||||
-rw-r--r-- | linux/drivers/media/dvb/frontends/stb6100.c | 10 |
2 files changed, 6 insertions, 6 deletions
diff --git a/linux/drivers/media/dvb/frontends/stb0899_reg.h b/linux/drivers/media/dvb/frontends/stb0899_reg.h index 4e5b24158..ba1ed5630 100644 --- a/linux/drivers/media/dvb/frontends/stb0899_reg.h +++ b/linux/drivers/media/dvb/frontends/stb0899_reg.h @@ -362,7 +362,7 @@ #define STB0899_OFF0_CRL_FREQ 0xf304 #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_WIDTH_CARR_FREQ 30 diff --git a/linux/drivers/media/dvb/frontends/stb6100.c b/linux/drivers/media/dvb/frontends/stb6100.c index 0f649a4ea..653d7efc6 100644 --- a/linux/drivers/media/dvb/frontends/stb6100.c +++ b/linux/drivers/media/dvb/frontends/stb6100.c @@ -345,11 +345,11 @@ static int stb6100_set_frequency(struct dvb_frontend *fe, u32 frequency) /* Baseband gain. */ if (srate >= 15000000) - g = 8; - else if (state->srate >= 5000000) - g = 12; + g = 9; // +4 dB + else if (srate >= 5000000) + g = 11; // +8 dB else - g = 14; + g = 14; // +14 dB regs[STB6100_G] = (regs[STB6100_G] & ~STB6100_G_G) | g; regs[STB6100_G] &= ~STB6100_G_GCT; /* mask GCT */ @@ -410,7 +410,7 @@ static int stb6100_set_frequency(struct dvb_frontend *fe, u32 frequency) if ((rc = stb6100_write_reg(state, STB6100_VCO, regs[STB6100_VCO])) < 0) 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_OCK; /* search clock off */ if ((rc = stb6100_write_reg(state, STB6100_VCO, regs[STB6100_VCO])) < 0) |