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