Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] Re: Transponder switching taking considerably longer
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).
Regards,
Johannes
--
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.
Home |
Main Index |
Thread Index