DIB3000MC autosearch

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Patrick,
did you have time to check the patch I sent recently that fixes the
autosearch for dib3000mc in my case?

http://www.linuxtv.org/pipermail/linux-dvb/2006-October/013907.html

Actually the following one (100% equivalent to the one above) is more
in line with the treatment of seq in the old driver and what happens
in the dib7000 code.

Regards

diff -r 7b945ba585c3 linux/drivers/media/dvb/frontends/dib3000mc.c
--- a/linux/drivers/media/dvb/frontends/dib3000mc.c     Tue Oct 31
15:33:29 2006 -0300
+++ b/linux/drivers/media/dvb/frontends/dib3000mc.c     Wed Nov 01
23:48:39 2006 +0000
@@ -499,7 +499,7 @@ static void dib3000mc_set_channel_cfg(st
       tmp = ((chan->nfft & 0x1) << 7) | (chan->guard << 5) |
(chan->nqam << 3) | chan->vit_alpha;
       dib3000mc_write_word(state, 0, tmp);

-       dib3000mc_write_word(state, 5, seq);
+       dib3000mc_write_word(state, 5, ((seq & 0x0f) << 4) | (1 << 8) );

       tmp = (chan->vit_hrch << 4) | (chan->vit_select_hp);
       if (!chan->vit_hrch || (chan->vit_hrch && chan->vit_select_hp))
@@ -548,7 +548,7 @@ static int dib3000mc_autosearch_start(st
       fchan.vit_alpha = 1; fchan.vit_code_rate_hp = 2;
fchan.vit_code_rate_lp = 2;
       fchan.vit_hrch = 0; fchan.vit_select_hp = 1;

-       dib3000mc_set_channel_cfg(state, &fchan, 7);
+       dib3000mc_set_channel_cfg(state, &fchan, 11);

       reg = dib3000mc_read_word(state, 0);
       dib3000mc_write_word(state, 0, reg | (1 << 8));
diff -r 7b945ba585c3 linux/drivers/media/dvb/frontends/dib3000mc.c
--- a/linux/drivers/media/dvb/frontends/dib3000mc.c	Tue Oct 31 15:33:29 2006 -0300
+++ b/linux/drivers/media/dvb/frontends/dib3000mc.c	Wed Nov 01 23:48:39 2006 +0000
@@ -499,7 +499,7 @@ static void dib3000mc_set_channel_cfg(st
 	tmp = ((chan->nfft & 0x1) << 7) | (chan->guard << 5) | (chan->nqam << 3) | chan->vit_alpha;
 	dib3000mc_write_word(state, 0, tmp);
 
-	dib3000mc_write_word(state, 5, seq);
+	dib3000mc_write_word(state, 5, ((seq & 0x0f) << 4) | (1 << 8) );
 
 	tmp = (chan->vit_hrch << 4) | (chan->vit_select_hp);
 	if (!chan->vit_hrch || (chan->vit_hrch && chan->vit_select_hp))
@@ -548,7 +548,7 @@ static int dib3000mc_autosearch_start(st
 	fchan.vit_alpha = 1; fchan.vit_code_rate_hp = 2; fchan.vit_code_rate_lp = 2;
 	fchan.vit_hrch = 0; fchan.vit_select_hp = 1;
 
-	dib3000mc_set_channel_cfg(state, &fchan, 7);
+	dib3000mc_set_channel_cfg(state, &fchan, 11);
 
 	reg = dib3000mc_read_word(state, 0);
 	dib3000mc_write_word(state, 0, reg | (1 << 8));
_______________________________________________
linux-dvb mailing list
linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux