stv0297: QAM256 improvement for TT-C2300 revisited
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
linux/drivers/media/dvb/frontends/stv0297.c +3 -1
@@ -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 );
linux/drivers/media/dvb/frontends/stv0297.h +5 -0
@@ -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 ))
linux/drivers/media/dvb/ttpci/av7110.c +1 -0
@@ -1874,6 +1874,7 @@ .inittab = nexusca_stv0297_inittab, .invert = 1, .stop_during_read = 1, + .qam256_reduced_demodfreq = 1, };
linux/drivers/media/dvb/ttpci/budget-ci.c +1 -0
@@ -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 = {
linux/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c +1 -0
@@ -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)
_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb