Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] Re: Transponder switching taking considerably longer
Johannes Stezenbach wrote:
>
> Klaus Schmidinger wrote:
> >
> > I did that, and it turned out that ves1893_set_symbolrate() is where it happens.
> > With this diff...
> >
> > --- alps_bsrv2.c.001 Sat May 10 11:32:33 2003
> > +++ alps_bsrv2.c Thu Jul 31 17:58:42 2003
> ...
> > @@ -268,18 +268,22 @@
> > ves1893_writereg (i2c, 0x06, 0xff & BDR);
> > ves1893_writereg (i2c, 0x07, 0xff & (BDR >> 8));
> > ves1893_writereg (i2c, 0x08, 0x0f & (BDR >> 16));
> > + udelay(800);
> >
> > ves1893_writereg (i2c, 0x09, BDRI);
> > ves1893_writereg (i2c, 0x20, ADCONF);
> > ves1893_writereg (i2c, 0x21, FCONF);
> > + udelay(800);
> >
> > if (srate < 6000000)
> > ves1893_writereg (i2c, 0x05, init_1893_tab[0x05] | 0x80);
> > else
> > ves1893_writereg (i2c, 0x05, init_1893_tab[0x05] & 0x7f);
> > + udelay(800);
> >
> > ves1893_writereg (i2c, 0x00, 0x00);
> > ves1893_writereg (i2c, 0x00, 0x01);
> > + udelay(800);
> >
> > ves1893_clr_bit (i2c);
> >
> > ...I get pretty good switching times, just as if I had the udelay() right inside
> > ves1893_writereg() itself. Note that this diff is against the 2003-07-25 version
> > and does not include the change Johannes made yesterday (which is obsolete if
> > you apply _this_ change). I tried to leave out some of these udelay()s and also
> > used various time values, but this is pretty much what gives the best results.
>
> I did some more testing and was able to reproduce the tuning problems
> with my card. After some testing I found that the root of the problem
> was that the frontend thread was woken up immediately after
> FE_SET_FRONTEND, so the frontend status was tested too soon. Maybe the
> alps_bsrv2.c doesn't like that. I also added a FE_RESET after each
> iteration of the frontend threads main loop if FE_HAS_LOCK is not
> present.
> Now I fixed dvb_frontend.c and removed all udelay()s from alps_bsrv2.c.
>
> I committed something in CVS which works very well with my DVB-S and
> Siemens DVB-C card. Please test!
>
> (I hope this change doesn't break tuning for other frontends or DVB-T).
Switching transponders works very fast with this, but right after a
channel switch (even between channels on the same transponder) there
are glitches in audio and video :-(
Klaus
--
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.
Home |
Main Index |
Thread Index