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

2008-02-22 Thread Mauro Carvalho Chehab
On Thu, 21 Feb 2008 20:38:09 -0500
Michael Krufky [EMAIL PROTECTED] wrote:

 Mauro Carvalho Chehab wrote:
  It is not that simple. Steven patch works for DTV on PCI Nano; Christopher
  patches for some other DiVCO boards (DTV also); my port of Markus patch

  for
  
  other boards (tested by Dâniel Fraga - Analog TV).


  What does one board have to do with another?  Just because these boards 
  all use xceive tuners does not mean that they should be grouped together.
  
 
  No, but we have patches for all of them.
 

  Because the user has the ability to load cx8800 without cx88-dvb, and 
  likewise, the user has the ability to load cx88-dvb without cx8800, the 
  attach call must be fully qualified such that the other side of the 
  driver is not required to be loaded in order for the tuner to work.
  
 
  If you take a look at the code, you'll see that all code is at cx88xx. This
  module is loaded by cx8800, if you're using analog, or by cx8802, if you're
  using cx88-dvb or cx88-blackbird.
 
  The code initializes xc3028 before tuner attach.
 

  In the case of FusionHDTV5 pci nano, there will never be an attach call 
  from the analog side of the driver, since the tuner is hidden behind the 
  s5h1409's i2c gate, and analog mode is not supported with the current 
  driver.  If you set i2c_scan=1 on the PCI nano, the xceive tuner will 
  not even show up in the scan.
  
 
  The proper fix is to open the i2c gate before loading tuner. This will allow
  i2c_scan to work and both analog and digital modes will work. Btw, this
  somewhat similar to what dvico_fusionhdtv_hybrid_init() does on cx88-cards.
 
  I've added a patch that should open the bridge for s5h1409. Please test. 
 Mauro,
 
 It does not work.  See my prior email in this thread for the explanation.
 
 [ 2912.355967] Linux video capture interface: v2.00
 [ 2912.373470] cx88/0: cx2388x v4l2 driver version 0.0.6 loaded
 [ 2912.373536] ACPI: PCI Interrupt :02:07.0[A] - GSI 19 (level,
 low) - IRQ 17
 [ 2912.373601] cx88[0]: subsystem: 18ac:d530, board: DVICO HDTV5 PCI
 Nano [card=59,autodetected]
 [ 2912.373607] cx88[0]: TV tuner type 71, Radio tuner type -1
 [ 2912.555088] cx88[0]: Asking xc2028/3028 to load firmware xc3028-v27.fw
  
The above message were generated by cx88-cards. So, as I said before, this were
called _before_ running dvb_register, defined at cx88-dvb.

The issue is simple: the i2c gate code were wrong. So, xc3028 is not visible on
that point of the code. With this, analog support will never work. The proper
fix is to enable xc3028 before enabling i2c, meaning to correct the code at
cx88_pci_nano_init().

After re-visiting s5h1409 code, I noticed that I've used the wrong sequence for
the gate. The state should be i2c closed, for xc3028 to work. The following
patch should fix:

http://linuxtv.org/hg/~mchehab/cx88-xc2028/rev/871db4e0451c

Please test it, with i2c_scan=1, and post the results.

Cheers,
Mauro

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

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

2008-02-22 Thread Michael Krufky
Mauro Carvalho Chehab wrote:
 On Thu, 21 Feb 2008 20:38:09 -0500
 Michael Krufky [EMAIL PROTECTED] wrote:

   
 Mauro Carvalho Chehab wrote:
 
 It is not that simple. Steven patch works for DTV on PCI Nano; Christopher
 patches for some other DiVCO boards (DTV also); my port of Markus patch
   
   
 for
 
 
 other boards (tested by Dâniel Fraga - Analog TV).
   
   
   
 What does one board have to do with another?  Just because these boards 
 all use xceive tuners does not mean that they should be grouped together.
 
 
 No, but we have patches for all of them.

   
   
 Because the user has the ability to load cx8800 without cx88-dvb, and 
 likewise, the user has the ability to load cx88-dvb without cx8800, the 
 attach call must be fully qualified such that the other side of the 
 driver is not required to be loaded in order for the tuner to work.
 
 
 If you take a look at the code, you'll see that all code is at cx88xx. This
 module is loaded by cx8800, if you're using analog, or by cx8802, if you're
 using cx88-dvb or cx88-blackbird.

 The code initializes xc3028 before tuner attach.

   
   
 In the case of FusionHDTV5 pci nano, there will never be an attach call 
 from the analog side of the driver, since the tuner is hidden behind the 
 s5h1409's i2c gate, and analog mode is not supported with the current 
 driver.  If you set i2c_scan=1 on the PCI nano, the xceive tuner will 
 not even show up in the scan.
 
 
 The proper fix is to open the i2c gate before loading tuner. This will allow
 i2c_scan to work and both analog and digital modes will work. Btw, this
 somewhat similar to what dvico_fusionhdtv_hybrid_init() does on cx88-cards.

 I've added a patch that should open the bridge for s5h1409. Please test. 
   
 Mauro,

 It does not work.  See my prior email in this thread for the explanation.

 [ 2912.355967] Linux video capture interface: v2.00
 [ 2912.373470] cx88/0: cx2388x v4l2 driver version 0.0.6 loaded
 [ 2912.373536] ACPI: PCI Interrupt :02:07.0[A] - GSI 19 (level,
 low) - IRQ 17
 [ 2912.373601] cx88[0]: subsystem: 18ac:d530, board: DVICO HDTV5 PCI
 Nano [card=59,autodetected]
 [ 2912.373607] cx88[0]: TV tuner type 71, Radio tuner type -1
 [ 2912.555088] cx88[0]: Asking xc2028/3028 to load firmware xc3028-v27.fw
 
 
 The above message were generated by cx88-cards. So, as I said before, this 
 were
 called _before_ running dvb_register, defined at cx88-dvb.

 The issue is simple: the i2c gate code were wrong. So, xc3028 is not visible 
 on
 that point of the code. With this, analog support will never work. The proper
 fix is to enable xc3028 before enabling i2c, meaning to correct the code at
 cx88_pci_nano_init().

 After re-visiting s5h1409 code, I noticed that I've used the wrong sequence 
 for
 the gate. The state should be i2c closed, for xc3028 to work. The following
 patch should fix:

 http://linuxtv.org/hg/~mchehab/cx88-xc2028/rev/871db4e0451c

 Please test it, with i2c_scan=1, and post the results.
   

Doesn't work.

[  795.056020] Linux video capture interface: v2.00
[  798.235564] cx88/0: cx2388x v4l2 driver version 0.0.6 loaded
[  798.235643] ACPI: PCI Interrupt :02:07.0[A] - GSI 19 (level,
low) - IRQ 18
[  798.235718] cx88[0]: subsystem: 18ac:d530, board: DVICO HDTV5 PCI
Nano [card=59,autodetected]
[  798.235722] cx88[0]: TV tuner type 71, Radio tuner type -1
[  798.371224] cx88[0]: i2c scan: found device @ 0x32  [???]
[  798.371391] cx88[0]: i2c scan: found device @ 0x34  [???]
[  798.399887] cx88[0]: i2c scan: found device @ 0xa0  [eeprom]
[  798.400319] cx88[0]: i2c scan: found device @ 0xa2  [???]
[  798.400482] cx88[0]: i2c scan: found device @ 0xa4  [???]
[  798.400642] cx88[0]: i2c scan: found device @ 0xa6  [???]
[  798.400800] cx88[0]: i2c scan: found device @ 0xa8  [???]
[  798.400957] cx88[0]: i2c scan: found device @ 0xaa  [???]
[  798.401116] cx88[0]: i2c scan: found device @ 0xac  [???]
[  798.401272] cx88[0]: i2c scan: found device @ 0xae  [???]
[  798.411996] cx88[0]: i2c scan: found device @ 0xd6  [???]
[  798.488821] Closing s5h1409 i2c gate to allow xc3028 detection
[  798.489283] cx88[0]: Asking xc2028/3028 to load firmware xc3028-v27.fw
[  798.489301] cx88[0]/0: found at :02:07.0, rev: 5, irq: 18,
latency: 64, mmio: 0xe400
[  798.489376] cx88[0]/0: registered device video0 [v4l2]
[  798.489408] cx88[0]/0: registered device vbi0
[  818.236239] cx88/2: cx2388x MPEG-TS Driver Manager version 0.0.6 loaded
[  818.236443] cx88[0]/2: cx2388x 8802 Driver Manager
[  818.236465] ACPI: PCI Interrupt :02:07.2[A] - GSI 19 (level,
low) - IRQ 18
[  818.236480] cx88[0]/2: found at :02:07.2, rev: 5, irq: 18,
latency: 64, mmio: 0xe600
[  818.254906] cx88/2: cx2388x dvb driver version 0.0.6 loaded
[  818.254913] cx88/2: registering cx8802 driver, type: dvb access: shared
[  818.254918] cx88[0]/2: subsystem: 18ac:d530, board: 

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

2008-02-22 Thread Michael Krufky
Michael Krufky wrote:
 Mauro Carvalho Chehab wrote:
   
 On Thu, 21 Feb 2008 20:38:09 -0500
 Michael Krufky [EMAIL PROTECTED] wrote:

   
 
 Mauro Carvalho Chehab wrote:
 
   
 It is not that simple. Steven patch works for DTV on PCI Nano; 
 Christopher
 patches for some other DiVCO boards (DTV also); my port of Markus patch
   
   
 
 for
 
 
   
 other boards (tested by Dâniel Fraga - Analog TV).
   
   
   
 
 What does one board have to do with another?  Just because these boards 
 all use xceive tuners does not mean that they should be grouped together.
 
 
   
 No, but we have patches for all of them.

   
   
 
 Because the user has the ability to load cx8800 without cx88-dvb, and 
 likewise, the user has the ability to load cx88-dvb without cx8800, the 
 attach call must be fully qualified such that the other side of the 
 driver is not required to be loaded in order for the tuner to work.
 
 
   
 If you take a look at the code, you'll see that all code is at cx88xx. This
 module is loaded by cx8800, if you're using analog, or by cx8802, if you're
 using cx88-dvb or cx88-blackbird.

 The code initializes xc3028 before tuner attach.

   
   
 
 In the case of FusionHDTV5 pci nano, there will never be an attach call 
 from the analog side of the driver, since the tuner is hidden behind the 
 s5h1409's i2c gate, and analog mode is not supported with the current 
 driver.  If you set i2c_scan=1 on the PCI nano, the xceive tuner will 
 not even show up in the scan.
 
 
   
 The proper fix is to open the i2c gate before loading tuner. This will 
 allow
 i2c_scan to work and both analog and digital modes will work. Btw, this
 somewhat similar to what dvico_fusionhdtv_hybrid_init() does on cx88-cards.

 I've added a patch that should open the bridge for s5h1409. Please test. 
   
 
 Mauro,

 It does not work.  See my prior email in this thread for the explanation.

 [ 2912.355967] Linux video capture interface: v2.00
 [ 2912.373470] cx88/0: cx2388x v4l2 driver version 0.0.6 loaded
 [ 2912.373536] ACPI: PCI Interrupt :02:07.0[A] - GSI 19 (level,
 low) - IRQ 17
 [ 2912.373601] cx88[0]: subsystem: 18ac:d530, board: DVICO HDTV5 PCI
 Nano [card=59,autodetected]
 [ 2912.373607] cx88[0]: TV tuner type 71, Radio tuner type -1
 [ 2912.555088] cx88[0]: Asking xc2028/3028 to load firmware xc3028-v27.fw
 
   

 The above message were generated by cx88-cards. So, as I said before, this 
 were
 called _before_ running dvb_register, defined at cx88-dvb.

 The issue is simple: the i2c gate code were wrong. So, xc3028 is not visible 
 on
 that point of the code. With this, analog support will never work. The proper
 fix is to enable xc3028 before enabling i2c, meaning to correct the code at
 cx88_pci_nano_init().

 After re-visiting s5h1409 code, I noticed that I've used the wrong sequence 
 for
 the gate. The state should be i2c closed, for xc3028 to work. The following
 patch should fix:

 http://linuxtv.org/hg/~mchehab/cx88-xc2028/rev/871db4e0451c

 Please test it, with i2c_scan=1, and post the results.
   
 

 Doesn't work.

 [  795.056020] Linux video capture interface: v2.00
 [  798.235564] cx88/0: cx2388x v4l2 driver version 0.0.6 loaded
 [  798.235643] ACPI: PCI Interrupt :02:07.0[A] - GSI 19 (level,
 low) - IRQ 18
 [  798.235718] cx88[0]: subsystem: 18ac:d530, board: DVICO HDTV5 PCI
 Nano [card=59,autodetected]
 [  798.235722] cx88[0]: TV tuner type 71, Radio tuner type -1
 [  798.371224] cx88[0]: i2c scan: found device @ 0x32  [???]
 [  798.371391] cx88[0]: i2c scan: found device @ 0x34  [???]
 [  798.399887] cx88[0]: i2c scan: found device @ 0xa0  [eeprom]
 [  798.400319] cx88[0]: i2c scan: found device @ 0xa2  [???]
 [  798.400482] cx88[0]: i2c scan: found device @ 0xa4  [???]
 [  798.400642] cx88[0]: i2c scan: found device @ 0xa6  [???]
 [  798.400800] cx88[0]: i2c scan: found device @ 0xa8  [???]
 [  798.400957] cx88[0]: i2c scan: found device @ 0xaa  [???]
 [  798.401116] cx88[0]: i2c scan: found device @ 0xac  [???]
 [  798.401272] cx88[0]: i2c scan: found device @ 0xae  [???]
 [  798.411996] cx88[0]: i2c scan: found device @ 0xd6  [???]
 [  798.488821] Closing s5h1409 i2c gate to allow xc3028 detection
 [  798.489283] cx88[0]: Asking xc2028/3028 to load firmware xc3028-v27.fw
 [  798.489301] cx88[0]/0: found at :02:07.0, rev: 5, irq: 18,
 latency: 64, mmio: 0xe400
 [  798.489376] cx88[0]/0: registered device video0 [v4l2]
 [  798.489408] cx88[0]/0: registered device vbi0
 [  818.236239] cx88/2: cx2388x MPEG-TS Driver Manager version 0.0.6 loaded
 [  818.236443] cx88[0]/2: cx2388x 8802 Driver Manager
 [  818.236465] ACPI: PCI Interrupt :02:07.2[A] - GSI 19 (level,
 low) - IRQ 18
 [  818.236480] cx88[0]/2: found at :02:07.2, rev: 5, irq: 18,
 latency: 64, mmio: 

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

2008-02-22 Thread Vanessa Ezekowitz
On Friday 22 February 2008 8:13:44 am Michael Krufky wrote:
 warn_printk(Closing s5h1409 i2c gate to allow xc3028 detection\n);

 to:

 warn_printk(Closing s5h1409 i2c gate to allow xc3028 detection\n);

I think you meant:

warn_printk(core, Closing s5h1409 i2c gate to allow xc3028 detection\n);

(which makes changeset 871db4e0451c compile for me)

however, cx8802 still kernel-BUGs on me when loaded (see Re: New(ish) card 
support needed, sorta).

-- 
Life is full of happy and sad events.  If you take the time
to concentrate on the former, you'll get further in life.
Vanessa Ezekowitz  [EMAIL PROTECTED]

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


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

2008-02-21 Thread Michael Krufky
Mauro Carvalho Chehab wrote:
 It is not that simple. Steven patch works for DTV on PCI Nano; Christopher
 patches for some other DiVCO boards (DTV also); my port of Markus patch
   
 for
 
 other boards (tested by Dâniel Fraga - Analog TV).
   
   
 What does one board have to do with another?  Just because these boards 
 all use xceive tuners does not mean that they should be grouped together.
 

 No, but we have patches for all of them.

   
 Because the user has the ability to load cx8800 without cx88-dvb, and 
 likewise, the user has the ability to load cx88-dvb without cx8800, the 
 attach call must be fully qualified such that the other side of the 
 driver is not required to be loaded in order for the tuner to work.
 

 If you take a look at the code, you'll see that all code is at cx88xx. This
 module is loaded by cx8800, if you're using analog, or by cx8802, if you're
 using cx88-dvb or cx88-blackbird.

 The code initializes xc3028 before tuner attach.

   
 In the case of FusionHDTV5 pci nano, there will never be an attach call 
 from the analog side of the driver, since the tuner is hidden behind the 
 s5h1409's i2c gate, and analog mode is not supported with the current 
 driver.  If you set i2c_scan=1 on the PCI nano, the xceive tuner will 
 not even show up in the scan.
 

 The proper fix is to open the i2c gate before loading tuner. This will allow
 i2c_scan to work and both analog and digital modes will work. Btw, this
 somewhat similar to what dvico_fusionhdtv_hybrid_init() does on cx88-cards.

 I've added a patch that should open the bridge for s5h1409. Please test. 
Mauro,

It does not work.  See my prior email in this thread for the explanation.

[ 2912.355967] Linux video capture interface: v2.00
[ 2912.373470] cx88/0: cx2388x v4l2 driver version 0.0.6 loaded
[ 2912.373536] ACPI: PCI Interrupt :02:07.0[A] - GSI 19 (level,
low) - IRQ 17
[ 2912.373601] cx88[0]: subsystem: 18ac:d530, board: DVICO HDTV5 PCI
Nano [card=59,autodetected]
[ 2912.373607] cx88[0]: TV tuner type 71, Radio tuner type -1
[ 2912.555088] cx88[0]: Asking xc2028/3028 to load firmware xc3028-v27.fw
[ 2912.555111] cx88[0]/0: found at :02:07.0, rev: 5, irq: 17,
latency: 64, mmio: 0xe400
[ 2912.555184] cx88[0]/0: registered device video0 [v4l2]
[ 2912.555215] cx88[0]/0: registered device vbi0
[ 2936.013682] cx88/2: cx2388x MPEG-TS Driver Manager version 0.0.6 loaded
[ 2936.013886] cx88[0]/2: cx2388x 8802 Driver Manager
[ 2936.013910] ACPI: PCI Interrupt :02:07.2[A] - GSI 19 (level,
low) - IRQ 17
[ 2936.013924] cx88[0]/2: found at :02:07.2, rev: 5, irq: 17,
latency: 64, mmio: 0xe600
[ 2936.051716] cx88/2: cx2388x dvb driver version 0.0.6 loaded
[ 2936.051725] cx88/2: registering cx8802 driver, type: dvb access: shared
[ 2936.051733] cx88[0]/2: subsystem: 18ac:d530, board: DVICO HDTV5 PCI
Nano [card=59]
[ 2936.051737] cx88[0]/2: cx2388x based DVB/ATSC card
[ 2936.094831] xc2028 1-0061: type set to XCeive xc2028/xc3028 tuner
[ 2936.094837] cx88[0]/2: xc3028 attached
[ 2936.095819] DVB: registering new adapter (cx88[0])
[ 2936.095825] DVB: registering frontend 0 (Samsung S5H1409 QAM/8VSB
Frontend)...
[ 2943.273085] xc2028 1-0061: xc2028/3028 firmware name not set!
[ 2944.378510] xc2028 1-0061: xc2028/3028 firmware name not set!
[ 2945.483933] xc2028 1-0061: xc2028/3028 firmware name not set!
[ 2946.589366] xc2028 1-0061: xc2028/3028 firmware name not set!
[ 2946.594186] xc2028 1-0061: Error on line 1068: -121
[ 2948.664531] xc2028 1-0061: xc2028/3028 firmware name not set!
[ 2949.765979] xc2028 1-0061: xc2028/3028 firmware name not set!
[ 2950.867404] xc2028 1-0061: xc2028/3028 firmware name not set!
[ 2951.968841] xc2028 1-0061: xc2028/3028 firmware name not set!
[ 2953.070277] xc2028 1-0061: xc2028/3028 firmware name not set!
[ 2954.171711] xc2028 1-0061: xc2028/3028 firmware name not set!
[ 2955.273151] xc2028 1-0061: xc2028/3028 firmware name not set!
[ 2956.374804] xc2028 1-0061: xc2028/3028 firmware name not set!
[ 2957.476020] xc2028 1-0061: xc2028/3028 firmware name not set!
[ 2958.473772] xc2028 1-0061: Error on line 1068: -121


-Mike



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

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

2008-02-19 Thread mkrufky
Mauro Carvalho Chehab wrote:
 On Mon, 18 Feb 2008 23:44:33 -0500
 Michael Krufky [EMAIL PROTECTED] wrote:

   
 On Jan 29, 2008 9:25 AM, Mauro Carvalho Chehab [EMAIL PROTECTED]
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.
   
 Mauro,

 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:

 http://linuxtv.org/hg/~mkrufky/cx88-xc2028

 for:

 (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
 

 Michael,

 It is not that simple. Steven patch works for DTV on PCI Nano; Christopher
 patches for some other DiVCO boards (DTV also); my port of Markus patch
for
 other boards (tested by Dâniel Fraga - Analog TV).
   

What does one board have to do with another?  Just because these boards 
all use xceive tuners does not mean that they should be grouped together.


 The point is not saving memory. The point is that tuner-xc2028 requires
just
 one callback. The callback should work properly for DTV, Analog and Radio.
It
 makes no sense to have such generic callback inside cx88-dvb. It should be
at
 cx88xx module, instead.
   
I agree that there should be in a single callback.  The appropriate 
place for this callback should be inside cx88-cards.c , and you'll have 
to include a prototype 

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

2008-02-19 Thread Mauro Carvalho Chehab
  It is not that simple. Steven patch works for DTV on PCI Nano; Christopher
  patches for some other DiVCO boards (DTV also); my port of Markus patch
 for
  other boards (tested by Dâniel Fraga - Analog TV).

 
 What does one board have to do with another?  Just because these boards 
 all use xceive tuners does not mean that they should be grouped together.

No, but we have patches for all of them.

 Because the user has the ability to load cx8800 without cx88-dvb, and 
 likewise, the user has the ability to load cx88-dvb without cx8800, the 
 attach call must be fully qualified such that the other side of the 
 driver is not required to be loaded in order for the tuner to work.

If you take a look at the code, you'll see that all code is at cx88xx. This
module is loaded by cx8800, if you're using analog, or by cx8802, if you're
using cx88-dvb or cx88-blackbird.

The code initializes xc3028 before tuner attach.

 In the case of FusionHDTV5 pci nano, there will never be an attach call 
 from the analog side of the driver, since the tuner is hidden behind the 
 s5h1409's i2c gate, and analog mode is not supported with the current 
 driver.  If you set i2c_scan=1 on the PCI nano, the xceive tuner will 
 not even show up in the scan.

The proper fix is to open the i2c gate before loading tuner. This will allow
i2c_scan to work and both analog and digital modes will work. Btw, this
somewhat similar to what dvico_fusionhdtv_hybrid_init() does on cx88-cards.

I've added a patch that should open the bridge for s5h1409. Please test. 


  We need one solution that works for all boards, not just yours.
 
  That's said, maybe SET_TUNER_CONFIG is being called too early. Maybe the
 way to
  fix this is to create an special function to initialize it, that would be
  called later by cx8800 or cx8802.
 both cx8800 *and* cx8802 need this functionality.  Please keep in mind 
 that some users do not ever use analog mode of these cards, and some 
 have even blacklisted cx8800 from loading.  This is fine, because cx8800 
 is not needed for cx88-dvb to function properly.  This is a level of 
 flexibility that we do not want to remove.
 
 The _real_ problem is that the tuner is being attached to the bridge 
 driver in two locations -- analog side and digital side.  This problem 
 will be entirely avoided once we are attaching the tuner driver in a 
 single location, globally to the entire driver.  Such changes are 
 planned to be dealt with in tuner refactor phase 4, but I am still 
 dealing with refactoring the prerequisites for this scenario, in phase 3 
 -- all will come in due time, but for now, we must provide a fully 
 qualified attachment call each time we attach a tuner driver.

It would be really nice to avoid having to attach it later, on cx88-dvb,
although the double attach won't hurt. I'm not sure on how you want to avoid
this.


Cheers,
Mauro

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