Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] Re: [PATCH] SS2 : Fix for OpenWholeBandWidth
On Sun, 23 Nov 2003 11:44:09 +0000
Vincenzo Di Massa <hawk78_it@yahoo.it> wrote:
> Roberto's PATCH is OK, but calls CheckPID (heavy!!) twice for every
> packet in.
Well, you have two comparisons in the for loop in CheckPID, so it's not
a big difference. Anyway, I like your version.
There is something that doesn't look right:
> @@ -1434,9 +1437,9 @@ static int AddPID(struct adapter *adapte
> {
> adapter->pids[i] = pid;
>
> - if (AddHwPID(adapter, pid) < 0)
> + if (pid != 0x2000 || AddHwPID(adapter, pid) < 0)
> OpenWholeBandwidth(adapter);
> -
> +
> return 1;
> }
> }
Shouldn't it be "pid == 0x2000"?
On a general side, I think the current pid handling is not very smart:
1) we check 0x27 slots even if only two are occupied (easily fixable)
2) when we openwholebandwith we don't close it back; this consumes
CPU time and causes interrupts and DMA transfers
Other considerations: is there any specific reason
1) to have exactly 0x27 slots?
2) to advertize 32 pids max?
3) to have stream1/stream2/pcr/pmt/emm/ecm specific routines, given that
it looks like they have no particular specialization, they're just generic
filters?
4) to have different coding style than linux kernel? ("CheckPID" instead
of "check_pid")
Would patches on these issues welcome?
Bye. Ciao.
--
Roberto Ragusa r.ragusa at libero.it
--
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.
Home |
Main Index |
Thread Index