aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorReinhard Nissl <rnissl@gmx.de>2008-07-09 15:38:27 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-12-29 17:53:24 -0200
commit9bb17eee39d862611d2f34d5c611661b3dfd2e54 (patch)
treefb69de0d1a60f5769a76fa7a6d9e715db81d1a7f
parentc615a27a533b6f6de6143d4d58cfa0abfdb6970d (diff)
downloadkernel_goldelico_gta04-9bb17eee39d862611d2f34d5c611661b3dfd2e54.zip
kernel_goldelico_gta04-9bb17eee39d862611d2f34d5c611661b3dfd2e54.tar.gz
kernel_goldelico_gta04-9bb17eee39d862611d2f34d5c611661b3dfd2e54.tar.bz2
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>
-rw-r--r--drivers/media/dvb/frontends/stb0899_reg.h2
-rw-r--r--drivers/media/dvb/frontends/stb6100.c10
2 files changed, 6 insertions, 6 deletions
diff --git a/drivers/media/dvb/frontends/stb0899_reg.h b/drivers/media/dvb/frontends/stb0899_reg.h
index 4e5b241..ba1ed56 100644
--- a/drivers/media/dvb/frontends/stb0899_reg.h
+++ b/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/drivers/media/dvb/frontends/stb6100.c b/drivers/media/dvb/frontends/stb6100.c
index f404a4d..083d6b6 100644
--- a/drivers/media/dvb/frontends/stb6100.c
+++ b/drivers/media/dvb/frontends/stb6100.c
@@ -338,11 +338,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 */
@@ -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)
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)