Mailing List archive

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

[linux-dvb] Re: New DVB driver release 1.0.0-pre1



Johannes Stezenbach writes:
On Thu, Feb 13, 2003 at 09:43:04PM +0100, Emil Naepflein wrote:
Did you have a look at the traces I posted some days ago regarding the
GPIO0 oops?
Proper solution would be to introduce a queue similar to
lpr printer queue.
When one printer servers several parallel processes,
each process has to submit a 'job' i.e. continouos
stream of printer commands that has to be delivered in one
continuous 'chunk'. Any overlapping of two jobs will
produce very garbled printout, as you know it.
If overlapping produces segmentation fault in interrupt
handler, whole machine will freeze and keyboard leds
will keep blinking.
So, such queue should collect all DEBI writes
(because they arrive asynchronous, parallel and overlap)
and serialize them over DEBI bus. But it's not so simple
as the printer:
Second problem is half duplex. DEBI is bidirectional
bus, but because of firmware simplicity/stability it
probably has to be half-duplex. When send is going on,
receive must wait and vice versa.
To get rid of oops and race conditions, the half-duplex
DEBI queue has to be introduced.
Queue should serialize continuous multy-byte DEBI
message packets and feed them to debi bus one by one
message. There can be only one, non-reentrant function
which should service DEBI transfers from all sources:
user-space and kernel-interrupt-space.
Emard

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



Home | Main Index | Thread Index