[linux-dvb] [EXPERIMENTAL] cx88+xc3028 - tests are required - was: Re: When xc3028/xc2028 will be supported?

Michael Krufky mkrufky at linuxtv.org
Tue Feb 19 05:44:33 CET 2008

On Jan 29, 2008 9:25 AM, Mauro Carvalho Chehab <mchehab at infradead.org> wrote:
> Dâniel and others,
> > > Having this tested is a very good news! I'll need to merge this patch with two
> > > other patches that adds DVB support for cx88/xc3028. If I can manage to have
> > > some time for this merge, I'll commit and ask Linus to add this to 2.6.25.
> >
> >       :)
> I've merged some patches from several authors, that add xc3028 support for
> cx88.
> The experimental tree is available at:
> http://linuxtv.org/hg/~mchehab/cx88-xc2028
> This patch series adds support for the following boards:
>  59 -> DVICO HDTV5 PCI Nano                                [18ac:d530]
>  60 -> Pinnacle Hybrid PCTV                                [12ab:1788]
>  61 -> Winfast TV2000 XP Global                            [107d:6f18]
>  62 -> PowerColor Real Angel 330                           [14f1:ea3d]
>  63 -> Geniatech X8000-MT DVBT                             [14f1:8852]
>  64 -> DViCO FusionHDTV DVB-T PRO                          [18ac:db30]
> In thesis, both analog and DVB support (for boards with DVB/ATSC) should be
> working (*). Maybe analog audio may need an additional configuration for some
> specific board (since they may require to add cfg.mts = 1 at xc3028
> initialization code, on cx88-cards).
> Please test.


We spoke on Thursday, and you asked me to take a look at the code in
your 'cx88-xc2028' tree over the weekend and fix it, if possible.

The repository is broken after and including changeset ce6afd207b71 -
"Make xc3028 support more generic"  This changeset moves the
device-specific configuration out of the cx88-dvb.c device-specific
switch..case block, into a generic function.  This patch breaks
functionality, and imho, is not a good idea.

Your changes assume that the analog side of the driver will come up
before the digital side of the driver, which is not necessarily the
case.  Additionally, in some cases, the tuner itself is hidden behind
an i2c gate that is controlled by the dvb / atsc demodulator.  Because
of the i2c gate, communication to the tuner might not be available at
the time that the i2c bus is probed.  For those reasons, the attach
calls to the tuner driver should be fully qualified, relative to the
functionality of the side of the driver that is attaching it.

The device that I used to test is the FusionHDTV 5 PCI nano.  This
device uses an xc3008 (yes, that is xc3008 -- not a typo) and a
s5h1409 demod.  The device is capable of receiving ATSC digital
broadcasts and the driver does not yet support analog television.

Steve Toth made the patch that adds atsc support for that card, and
his patch worked without the additional changesets that were added
afterwards.  I made some small fixes and enabled IR support -- see the
bottom of this email for my pull request.

Your email above states that you've "merged some patches from several
authors".  What I recommend, in order to properly support each device,
would be to apply each patch for each card separately, as we do with
all card support additions.  We know that the original patches, as
submitted by the original authors work properly , since those authors
have conducted their own tests.

I understand that you've made some attempts to optimize the code in an
effort to reduce memory consumption.  Unfortunately, these efforts
have broken functionality of these devices.  I think that it would
make more sense to work on optimizations after the basic device
support patches are first applied in the standard manner.  This way,
you would have a good point of reference for "before" and "after" that
testers will be able to use for comparison (and bisection).

Since the only card that I can test is the PCI nano, please pull these
changesets into master for now.

Please pull from:



(91113b8955e2) 4 weeks ago	Steven Toth 	cx88: Add support for the
Dvico PCI Nano.
(394d249f03f1) 47 hours ago	Michael Krufky 	cx88: fix FusionHDTV 5 PCI
nano name and enable IR support



More information about the linux-dvb mailing list