Mailing List archive

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

[linux-dvb] CI implementation question



Andrew de Quincey writes:
 > CENELEC EN50221 implies that you can't write data to the CAM if it has data 
 > waiting to be read by the host. What have other people's implementations done 
 > if a user app attempts to write() data when it is not possible?
 > 
 > I could cache the data to be written... I don't like this... the app might 
 > never read().

Actually, driver and app have to read. The driver has to regularly poll for
incoming data (usually no interrupt support) and the app has to answer
to requests in time (or the connection with the CAM is lost) . So, the
app has to read and write regularly.
You will have to cache "read data" in any case.
You can get around caching "write data" by blocking until no more
reads are required if you want to.

dvb_ca.c (based on the upper levels of the av7110 CA code) caches
both. But in this case it had to because all data had to be moved
through DEBI/AV7110. Still, you can use it for any link layer
implementation which is driven by polling the CAM states.

Ralph


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



Home | Main Index | Thread Index