[linux-dvb] Preliminary examination of lgdt3303 driver.

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

 



Hi Mac,

On Tue, 12 Jul 2005, Mac Michaels wrote:

> I examined the lgdt3303  driver to see if it makes sense to
> merge it with the lgdt3302 driver. I don't have a spec
> sheet for the 3303 chip so I may have made some errors in
> my examination. It may be pin compatible, but it is not
> software compatible.

:(

> The lgdt3303 is connected to a different PCI interface chip
> than the lgdt3302.

Hmm, that is why there are frontend-drivers. To reuse the driver on 
different PCI boards or USB boxes or somewhere in embedded systems or 
whatever. Frontend-drivers should be independ of the card's/box's BUS and 
tuner and other hardware. That's why the bus-driver implements an 
I2C-adapter, which is the bus the demod-driver talks to its IC.

> Overall the driver structure is nearly identical. Different
> registers are used by the 3303 in a lot of places. Some of
> the registers are read only in the 3302 and writable in the
> 3303. A number of new registers are set in the 3303. The
> drivers could be combined, but I am not sure how beneficial
> that would be.
>
> There is an unusual way of setting up the tuner.

The way of the pll-programming is wrong in the lgdt3303. The 
tuner-programming should be out-sourced to either use dvb-pll or a 
pll_set-callback (or both).

> I do not recommend merging the two drivers at this time.

So, how different is the register-programming. Can you describe it in more 
detail. From your point of view, is the lgdt3033 just an extension or 
really completely different.

Would the driver be bloated up to complete unreadability if the 
3303-parts would be included in the 3302-driver?

thanks for your investigations,
Patrick.

--
   Mail: patrick.boettcher@xxxxxxx
   WWW:  http://www.wi-bw.tfh-wildau.de/~pboettch/



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

  Powered by Linux