Nova-T 500 dib3000mc_set_timing

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

 



I found that dib3000mc_set_timing in dib3000mc_tune is not  called because the 
status of the register 509 take some time to udpate.
I added some msleep to do that. Perhaps they are a better way to do that.

Jose Alberto
diff -r f96f68c4e5d9 linux/drivers/media/dvb/frontends/dib3000mc.c
--- a/linux/drivers/media/dvb/frontends/dib3000mc.c	Thu Jul 19 18:06:54 2007 -0300
+++ b/linux/drivers/media/dvb/frontends/dib3000mc.c	Sat Jul 21 18:31:35 2007 +0200
@@ -38,6 +38,7 @@ struct dib3000mc_state {
 	struct dibx000_i2c_master i2c_master;
 
 	u32 timf;
+	u8 timf_nofirst;
 
 	fe_bandwidth_t current_bandwidth;
 
@@ -591,6 +592,13 @@ static int dib3000mc_tune(struct dvb_fro
 		dib3000mc_write_word(state, 26, 30336);
 		dib3000mc_write_word(state, 33, 6);
 	}
+
+	if (state->timf_nofirst == 0) {
+		state->timf_nofirst = 1;
+		msleep (500);
+	}
+	else
+		msleep (20);
 
 	if (dib3000mc_read_word(state, 509) & 0x80)
 		dib3000mc_set_timing(state, ch->nfft, ch->Bw, 1);
_______________________________________________
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