public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [2.6.13 PATCH] DVB: LGDT3302 QAM lock bug fix
@ 2005-07-14  2:49 Michael Krufky
  0 siblings, 0 replies; only message in thread
From: Michael Krufky @ 2005-07-14  2:49 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-dvb-maintainer, Mac Michaels, LKML

[-- Attachment #1: Type: text/plain, Size: 33 bytes --]

QAM working great now :-) ...




[-- Attachment #2: dvb-lgdt3302-qam-lock-bug-fix.patch --]
[-- Type: text/plain, Size: 2042 bytes --]

Fix QAM lock bug. Previously, it was necessary to first
scan in VSB before attempting to get a QAM lock.

Signed-off-by: Mac Michaels <wmichaels1@earthlink.net>
Signed-off-by: Michael Krufky <mkrufky@m1k.net>

 linux/drivers/media/dvb/frontends/lgdt3302.c |   16 +++-------------
 1 files changed, 3 insertions(+), 13 deletions(-)

diff -u linux-2.6.13/drivers/media/dvb/frontends/lgdt3302.c linux/drivers/media/dvb/frontends/lgdt3302.c
--- linux-2.6.13/drivers/media/dvb/frontends/lgdt3302.c	2005-07-13 07:43:59.000000000 +0000
+++ linux/drivers/media/dvb/frontends/lgdt3302.c	2005-07-13 22:13:55.000000000 +0000
@@ -217,13 +217,11 @@
 	static u8 demux_ctrl_cfg[] = { DEMUX_CONTROL, 0xfb };
 	static u8 agc_rf_cfg[]     = { AGC_RF_BANDWIDTH0, 0x40, 0x93, 0x00 };
 	static u8 agc_ctrl_cfg[]   = { AGC_FUNC_CTRL2, 0xc6, 0x40 };
-	static u8 agc_delay_cfg[]  = { AGC_DELAY0, 0x00, 0x00, 0x00 };
+	static u8 agc_delay_cfg[]  = { AGC_DELAY0, 0x07, 0x00, 0xfe };
 	static u8 agc_loop_cfg[]   = { AGC_LOOP_BANDWIDTH0, 0x08, 0x9a };
 
 	/* Change only if we are actually changing the modulation */
 	if (state->current_modulation != param->u.vsb.modulation) {
-		int value;
-
 		switch(param->u.vsb.modulation) {
 		case VSB_8:
 			dprintk("%s: VSB_8 MODE\n", __FUNCTION__);
@@ -276,16 +274,8 @@
 		   recovery center frequency register */
 		i2c_writebytes(state, state->config->demod_address,
 				       vsb_freq_cfg, sizeof(vsb_freq_cfg));
-		/* Set the value of 'INLVTHD' register 0x2a/0x2c
-		   to value from 'IFACC' register 0x39/0x3b -1 */
-		i2c_selectreadbytes(state, AGC_RFIF_ACC0,
-				    &agc_delay_cfg[1], 3);
-		value = ((agc_delay_cfg[1] & 0x0f) << 8) | agc_delay_cfg[3];
-		value = value -1;
-		dprintk("%s IFACC -1 = 0x%03x\n", __FUNCTION__, value);
-		agc_delay_cfg[1] = (value >> 8) & 0x0f;
-		agc_delay_cfg[2] = 0x00;
-		agc_delay_cfg[3] = value & 0xff;
+
+		/* Set the value of 'INLVTHD' register 0x2a/0x2c to 0x7fe */
 		i2c_writebytes(state, state->config->demod_address,
 			       agc_delay_cfg, sizeof(agc_delay_cfg));
 

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2005-07-14  2:50 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-07-14  2:49 [2.6.13 PATCH] DVB: LGDT3302 QAM lock bug fix Michael Krufky

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox