The patch number 9443 was added via Manu Abraham <[EMAIL PROTECTED]>
to http://linuxtv.org/hg/v4l-dvb master development tree.

Kernel patches in this development tree may be modified to be backward
compatible with older kernels. Compatibility modifications will be
removed before inclusion into the mainstream Kernel

If anyone has any objections, please let us know by sending a message to:
        [EMAIL PROTECTED]

------

From: Manu Abraham  <[EMAIL PROTECTED]>
Bug: Bandwidth calculation

Bug #1: The 5 tap equaliser is set to correct simple perturbations
like reflections on the IF cable for DVB-S. In the case of DVB-S2
a more powerful equalizer is used to correct the filter group delay
allowing the bandwidth to be reduced by a factor of 1/3

Bug #2: The ZIF tuner takes badwidth to be set in Hz


Signed-off-by: Manu Abraham <[EMAIL PROTECTED]>


---

 linux/drivers/media/dvb/frontends/stb0899_drv.c |    5 ++---
 linux/drivers/media/dvb/frontends/stb6100.c     |    2 +-
 2 files changed, 3 insertions(+), 4 deletions(-)

diff -r a3f4fb0f50bf -r 47e7105bbdd8 
linux/drivers/media/dvb/frontends/stb0899_drv.c
--- a/linux/drivers/media/dvb/frontends/stb0899_drv.c   Mon Nov 19 23:44:47 
2007 +0400
+++ b/linux/drivers/media/dvb/frontends/stb0899_drv.c   Fri Jan 18 18:28:48 
2008 +0400
@@ -1595,8 +1595,7 @@ static enum dvbfe_search stb0899_search(
        }
        dprintk(verbose, FE_DEBUG, 1, "delivery system=%d", state->delsys);
 
-       SearchRange = 3000000; /* Search Bandwidth (3 Mhz, was initially 10  
Mhz)       */
-//     SearchRange = 10000000; /* Search Bandwidth (3 Mhz, was initially 10  
Mhz)      */
+       SearchRange = 10000000;
        dprintk(verbose, FE_DEBUG, 1, "Frequency=%d, Srate=%d", i_params->freq, 
i_params->srate);
        /* checking Search Range is meaningless for a fixed 3 Mhz               
        */
        if (INRANGE(i_params->srate, 1000000, 45000000)) {
@@ -1667,7 +1666,7 @@ static enum dvbfe_search stb0899_search(
                        internal->srch_range            = SearchRange;
 
                        if (state->config->tuner_set_bandwidth)
-                               state->config->tuner_set_bandwidth(fe, (135 * 
(stb0899_carr_width(state) + SearchRange)) / 100);
+                               state->config->tuner_set_bandwidth(fe, 
(stb0899_carr_width(state) + SearchRange));
                        if (state->config->tuner_get_bandwidth)
                                state->config->tuner_get_bandwidth(fe, 
&internal->tuner_bw);
 
diff -r a3f4fb0f50bf -r 47e7105bbdd8 linux/drivers/media/dvb/frontends/stb6100.c
--- a/linux/drivers/media/dvb/frontends/stb6100.c       Mon Nov 19 23:44:47 
2007 +0400
+++ b/linux/drivers/media/dvb/frontends/stb6100.c       Fri Jan 18 18:28:48 
2008 +0400
@@ -269,7 +269,7 @@ static int stb6100_set_bandwidth(struct 
 
        dprintk(verbose, FE_DEBUG, 1, "set bandwidth to %u kHz", bandwidth);
 
-       bandwidth *= 1000 / 2;  /* kHz -> Hz, bw / 2 */
+       bandwidth /= 2; /* ZIF */
 
        if (bandwidth > 36000000)       /* F[4:0] BW/2 max =31+5=36 mhz for 
F=31        */
                tmp = 31;


---

Patch is available at: 
http://linuxtv.org/hg/v4l-dvb/rev/47e7105bbdd82eae47fbb48837024a7174d22c91

_______________________________________________
linuxtv-commits mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to