Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] Re: DVB-CI question
On Monday 19 April 2004 17:07, Johannes Stezenbach wrote:
> Hi,
>
> I'm trying to finish my work on the V4 CI API. After a bit of thinking
> I made the following changes which I just comitted to CVS:
>
> - one device node for all slots on one CI controller
> - define API protocol units to be "raw, unfragmented TPDUs", i.e.
> slightly above link level but not interpreted by the driver, so
> the transport level must be implemented in user space;
> this is the status quo of the V3 API and I think it makes much sense
> to keep it that way
> - define poll(2) semantics; link/pyhsical layer polling is entirely
> handled within the driver
>
> (this is not TOFU -- please read down below)
I have no real preference on whether read/write or the IOCTL interface is
used.. but here are my thoughts on it:
* We're using the read/write interface at the moment. Is there any real
advantage to swapping to the IOCTL interface?
* If we supported more than just link level packets, we would have to extend
the read/write interface anyway as we would need a way to specify the type of
packet. However, another way of doing this would be for the driver to specify
what type of packet must be used on a particular slot in the _caps structure.
The userspace app then just sends the corresponding protocol structure on the
read/write interface.
Other stuff:
* It would be good to add the max. size of a TPDU (or whatever protocol is in
use) as a field to dvb_ci_capability. At the moment, everyone is hardcoding
it to 2048 bytes because that is what is necessary for the av7110 cards. But
this isn't the case with the budget-ci, so it would be nice to have the
limits explicitly returned by the driver.
* Is DVB_CI_CAM_IOERR useful? The budget-ci driver returns -EIO if a write
operation failed, and automatically restarts the link initialisation
protocol. I suppose it would be useful if the renegotiation fails multiple
times though... perhaps it should just be called DVB_CI_CAM_FATAL_ERR (or
something), and used to indicate when the CAM appears to have locked up and
needs a reset.
* I assume we would have the protocol structures to be sent over read/write
(if used) defined in the ci.h header.
* As for whether we need to support different types of protocol, I cannot
comment... to quote Ralph's original message:
> If you keep the interfaces between layers general enough it should
> also be no problem to support drivers with other interfaces (like the
> av7110 cards or also the Twinhan cards with even higher level interface)
> with the same code.
What these "higher level" interfaces are was never discussed. I assume higher
level in EN50221, but I may be wrong.
--
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.
Home |
Main Index |
Thread Index