Mailing List archive

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

[linux-dvb] Re: refactoring



> The entire ringbuffer of DMA areas is exposed read-only to the 
> application and every client can query via ioctl() the current DMA write 
> pointer position or the number ov valid (filled) DMA areas, or simply a 
> bitfield describing which DMA buffers are filled with data.

They are all filled with data all the time (after the initial filling
with data) as you just overwrite the old data with new ones.

> Ringbuffer read-pointers need to get handled by the application,

So you want to "solve" the problem by not doing syncronization at all,
right?  So it may happen that the data the application is processing at
the moment is overwritten with new data of the app lags behind for some
reason?

> the situation is basically similiar to the one when you program a DMA
> driver in kernel space, you can only read the current write position
> register from the hardware.

Well, unlike the application the kernel driver can stop the DMA in case
there are no more empty buffers which are to fill with data ...

  Gerd

-- 
return -ENOSIG;




Home | Main Index | Thread Index