Re: Multiple demods on a single transport bus

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

 



On Friday 15 September 2006 03:52, Steven Toth wrote:
> Hi,
>
> 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.
> http://www.linuxtv.org/hg/~stoth/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.

_______________________________________________
linux-dvb mailing list
linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux