[EMAIL PROTECTED] wrote: > ... > 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.
Couldn't we use the second Register Programming Sequencer (RPS) of the SAA7146A to handle the DEBI stuff? This way it might be possible to get rid of busy-waiting in wait_for_debi_done(), which is really ugly when vdr is running in time-shift mode. I haven't looked at this in detail but it might be possible. Any comments? Oliver -- Info: To unsubscribe send a mail to [EMAIL PROTECTED] with "unsubscribe linux-dvb" as subject.
