[linux-dvb] Multiple demods on a single transport bus
Andrew de Quincey
adq_dvb at lidskialf.net
Mon Sep 18 21:58:10 CEST 2006
On Friday 15 September 2006 03:52, Steven Toth wrote:
> I'm working on drivers for three products that share a single transport
> bus with two or more demodulators or other pieces of silicon.
> A good example of this is the hvr1300.
> Other examples are the HVR3000 (which has a cx22702 and cx24123 sharing)
> and HVR4000 products which has a cx22702 and cx24118 sharing.
> With the hvr1300 device, the transport bus is shared between a MPEG2
> hardware encoder and a cx22702. Rather than add specific code to the
> cx22702 demodulator to use a series of callbacks back into the cx88
> framework, to toggle GPIOs and request hardware access, it started to
> make more sense to add this as part of the generic frontend framework
> and not pollute the demodulator drivers.
> The following patch to dvb-frontend.c|h uses a callback during open and
> release in dvb_frontend to determine whether the request should succeed.
> I'm also showing you a typical implementation within the cx88 framework.
> We override the fe->ops function with a generic framework callback in
> the cx88 source to deal with the specifics for this device. (much of the
> hardware arbitration is not shown here but can be seen in
> hg/~stoth/hvr1300 for those who are interested).
> A minor patch like this to dvb-frontend.c|h would allow dvb frameworks
> (cx88/budget etc) to determine whether hardware was technically free for
> use, or make it available if required.
> Is this type of changing likely to cause any unforeseen problems?
> Does anyone object to this approach?
Sounds good to me; I was wondering how to go about this myself for a saa7134
based card actually.
More information about the linux-dvb