[linux-dvb] bus control

Manu Abraham abraham.manu at gmail.com
Thu Jul 26 15:41:41 CEST 2007

On 7/26/07, Oliver Endriss <o.endriss at gmx.de> wrote:

> Does it take a long time to download the firmware?
> If not, I would go for the easiest way. (I guess the firmware has to be
> loaded after a coldstart only.)

I also would prefer the easy method, but there are some pitfalls in
that one. True that a download is necessary on a cold-start only. But
being a USB device, the MASTER-SLAVE config one, there are more of
cold-starts that we might think.

That said, the firmware download is not too lengthy, but the Host when
handling 2 Transfers simultaeneously in both directions, the
performance might be degraded according to the vendor, though they do
not have actual figures.

> > In this case the firmware has to be copied from demod #0 to demod #1
> > for effeciency reasons, though a dual download can be used. But AFAICS
> > the firmware getting downloaded to the demod would be necessary in the
> > SLAVE - SLAVE configuration as found on PCI/PCIe devices, since there
> > is no BIU in that configuration.
> >
> > I think it might be better then, that the firmware download in the
> > demodulators is conditionally done through a BIU config data structure
> > in such a case
> >
> > (Thoughts ?)
> You might add a firmware_request callback to the configuration struct
> passed to the demod_attach routine (see tda1004x driver, for example).
> The card driver will set this entry before calling demod_attach.

Yep, Overwriting the function pointer seems to be the only sane
approach here, AFAICT.

> For a dual download, it might point to the same routine for each demod.
> For the download+copy approach, you might set the callback of the second
> demod to a special firmware copy routine.

Yep, the function pointer could be just overwritten here. Sounds good

Thanks for the inputs,

More information about the linux-dvb mailing list