Mailing List archive

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

[linux-dvb] Re: [PATCH?] proposed rewrite of skystar2 filters



Il mer, 2003-12-03 alle 07:37, Niklas Peinecke ha scritto:
> Wolfgang Thiel wrote:
> > On Tue, Dec 02, 2003 at 12:12:02PM +0100, Niklas Peinecke wrote:
> > 
> >>I tried my best to take all your suggestions into account and rewrote 
> >>the filters for the skystar2 cards. Especially (based on the valueable 
> >>info given by Augusto) there is now a different handling for FC IIb and 
> >>FC III based cards, the additional 32 PID filters should work. Also I 
> >>tried my best to handle the 0x2000/open_whole_bandwidth issue in a 
> >>transparent way.
> >>...
> > 
> > 
> > Hi Niklas,
> > 
> > I'm sending you back your patch (it's against yesterdays CVS) ;-)
> > - I fixed some things to get it to compile ;-)
> > - I added a two-level debug: 2 is the old version, 1 is less noisy.
> > - I did some cosmetic changes (see /usr/src/linux/Documentation/CodingStyle).
> > - I did _not_ change anything of the functionality of your code.
> > 
> > Your patch is working fine here, but I can only check the 6 hw pids:
> > I also have a FlexCopII :-(
> > 
> > Your patch is very similiar to mine; differences: e.g. I removed the
> > default 0x1f mask, and I added a counter how often open_whole_bandwidth()
> > was called and only close it, when the counter is 0 again.
> > 
> > I'll come back with some proposals when I had more time to have a look at
> > your code:
> > One problem might be that we might have to track how often an identical
> > hw_pid was requested before we can savely remove it from the list, and we
> > should add a modul parameter like 'use_hardware_filters'.
> > Do we really need pid_counter? I think the upper layer will do that for
> > us.
> > More later ...
> > 
> > Wolfgang
> 
> Hi Wolfgang,
> 
> thanks for the testing and the suggestions. Here are some thoughts for 
> where we should go now:
> 
> * The 0x1f mask could be useful for some applications. Maybe we could 
> have this as an extra kernel parameter?
> * I did not implement reference counting for 0x2000 pids, because I 
> thought they would not be added more than once. However thinking about 
> it now, it seems that this can actually happen to every pid, e.g. if you 
> run dvbstream and scan at once. Therefore we probably need ref-counting 
> for all pids? This is a nightmare for implementation and should probably 
> done using some hash map technique.

We have plenty of space in the hi bits of the two pid lists (0-57343
value range)!
Why don't we do ref-counting in theese unused hi bits.
Should be quick, and no space and code consuming.

> * pid_counter is merely there to separate the physical mapping of the 
> pids to the registers from the list of the pids that are present. This 
> speeds up checking for a pid since you don't have to examine all 38 
> registers every time, furthermore (because of open_whole_bandwidth) 
> there can be more pids present in the ts than the onchip filters are 
> aware of, so the driver needs some bookkeeping.
> * I don't think we need a kernel parameter for disabling the hw filters, 
> since they are disabled for the FC II automaticly and (once working) 
> they should not break anything for the other chips. Nevertheless such a 
> switch could be useful for debugging purposes, so I'd vote to have them 
> turned on by default and disable them on request.
> 
> Don't hesitate to steal as much from my code as you need to get 
> everything we talked about the last few days working ;) I'm really 
> looking forward to see this patch in CVS.
> 
> Niklas
-- 
Vincenzo Di Massa <hawk78_it@yahoo.it>



-- 
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index