public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* [linux-dvb] stv0297: QAM256 improvement for TT-C2300 revisited
@ 2008-07-31 20:47 Alexander Koenig
  0 siblings, 0 replies; only message in thread
From: Alexander Koenig @ 2008-07-31 20:47 UTC (permalink / raw)
  To: linux-dvb

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

Hi,

last October Hartmut Birr submitted a patch that greatly improves
reception of QAM256 modulated channels on the TT-C2300.
(http://www.linuxtv.org/pipermail/linux-dvb/2007-October/021422.html) 

The patch was not applied as there were a few reports that it was
causing problems. However, the end of the thread suggests that some of
these issues were a result of using the patch in combination with
other frequency shifting patches that also tried to address QAM256
issues.

Other issues were reported on different hardware (CableStar), so I
extended the patch to change the demodulation frequency only for
Nexus-CA. 

The patch was tested successfully on two TT-C2300 based systems, it
would be great if someone could test whether the patch does hurt
QAM256 reception with CableStar devices or not.

Alexander König

[-- Attachment #2: stv0297-qam256-nexusca-only-fix.diff --]
[-- Type: text/x-diff, Size: 2766 bytes --]

diff -ru v4l-dvb.org/linux/drivers/media/dvb/frontends/stv0297.c v4l-dvb/linux/drivers/media/dvb/frontends/stv0297.c
--- v4l-dvb.org/linux/drivers/media/dvb/frontends/stv0297.c	2008-07-26 18:14:23.000000000 +0200
+++ v4l-dvb/linux/drivers/media/dvb/frontends/stv0297.c	2008-07-26 18:16:38.000000000 +0200
@@ -463,7 +463,9 @@
 	stv0297_writereg(state, 0x82, 0x0);
 
 	/* set initial demodulation frequency */
-	stv0297_set_initialdemodfreq(state, 7250);
+	stv0297_set_initialdemodfreq(state, 
+		state->config->qam256_reduced_demodfreq & 
+		(p->u.qam.modulation == QAM_256) ? 6718 : 7250);
 
 	/* setup AGC */
 	stv0297_writereg_mask(state, 0x43, 0x10, 0x00);
diff -ru v4l-dvb.org/linux/drivers/media/dvb/frontends/stv0297.h v4l-dvb/linux/drivers/media/dvb/frontends/stv0297.h
--- v4l-dvb.org/linux/drivers/media/dvb/frontends/stv0297.h	2008-07-26 18:14:23.000000000 +0200
+++ v4l-dvb/linux/drivers/media/dvb/frontends/stv0297.h	2008-07-26 18:16:38.000000000 +0200
@@ -40,6 +40,11 @@
 
 	/* set to 1 if the device requires an i2c STOP during reading */
 	u8 stop_during_read:1;
+
+	/* set to 1 if the device requires reduced demodulation frequency 
+	* for QAM256.
+	*/
+	u8 qam256_reduced_demodfreq:1;
 };
 
 #if defined(CONFIG_DVB_STV0297) || (defined(CONFIG_DVB_STV0297_MODULE) && defined(MODULE))
diff -ru v4l-dvb.org/linux/drivers/media/dvb/ttpci/av7110.c v4l-dvb/linux/drivers/media/dvb/ttpci/av7110.c
--- v4l-dvb.org/linux/drivers/media/dvb/ttpci/av7110.c	2008-07-26 18:14:23.000000000 +0200
+++ v4l-dvb/linux/drivers/media/dvb/ttpci/av7110.c	2008-07-26 18:16:38.000000000 +0200
@@ -1874,6 +1874,7 @@
 	.inittab = nexusca_stv0297_inittab,
 	.invert = 1,
 	.stop_during_read = 1,
+	.qam256_reduced_demodfreq = 1,
 };
 
 
diff -ru v4l-dvb.org/linux/drivers/media/dvb/ttpci/budget-ci.c v4l-dvb/linux/drivers/media/dvb/ttpci/budget-ci.c
--- v4l-dvb.org/linux/drivers/media/dvb/ttpci/budget-ci.c	2008-07-26 18:14:23.000000000 +0200
+++ v4l-dvb/linux/drivers/media/dvb/ttpci/budget-ci.c	2008-07-26 18:16:38.000000000 +0200
@@ -1061,6 +1061,7 @@
 	.inittab = dvbc_philips_tdm1316l_inittab,
 	.invert = 0,
 	.stop_during_read = 1,
+	.qam256_reduced_demodfreq = 0,
 };
 
 static struct tda10023_config tda10023_config = {
diff -ru v4l-dvb.org/linux/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c v4l-dvb/linux/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
--- v4l-dvb.org/linux/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c	2008-07-26 18:14:23.000000000 +0200
+++ v4l-dvb/linux/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c	2008-07-26 18:16:38.000000000 +0200
@@ -1572,6 +1572,7 @@
 	.demod_address = 0x1c,
 	.inittab = dvbc_philips_tdm1316l_inittab,
 	.invert = 0,
+	.qam256_reduced_demodfreq = 0,
 };
 
 static void frontend_init(struct ttusb* ttusb)

[-- Attachment #3: Type: text/plain, Size: 150 bytes --]

_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

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

only message in thread, other threads:[~2008-07-31 20:47 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-31 20:47 [linux-dvb] stv0297: QAM256 improvement for TT-C2300 revisited Alexander Koenig

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