linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Dual slot PCI riser messes up ivtv
@ 2007-06-21 11:49 Islam Amer
  2007-06-22 15:41 ` Krzysztof Halasa
  0 siblings, 1 reply; 9+ messages in thread
From: Islam Amer @ 2007-06-21 11:49 UTC (permalink / raw)
  To: linux-kernel

Hello everyone.

I am trying to build a settop box with two cards, a PVR-150 and a DVB
card. The mini-ITX motherboard has only one PCI slot, so I bought an
active PCI riser.

First I tried with two cheap lifeview cards on the riser and they
worked.
 
The PVR-150 is working fine alone, and so does the DVB card. But when I
use them with the riser nothing works.

Here's the debugging output when using both cards on the PCI riser.

[   37.506596] ivtv:  ==================== START INIT IVTV
====================
[   37.506603] ivtv:  version 1.0.0 (2.6.22-rc5 SMP mod_unload 586 )
loading
[   37.507978] ivtv0: Autodetected Hauppauge card (cx23416 based)
[   37.508022] ivtv0 info: base addr: 0x48000000
[   37.508025] ivtv0 info: Enabling pci device
[   37.508048] ACPI: PCI Interrupt 0000:00:0d.0[A] -> GSI 17 (level,
low) -> IRQ 22
[   37.508060] ivtv0 info: Bus Mastering Enabled.
[   37.508066] ivtv0: Unreasonably low latency timer, setting to 64 (was
32)
[   37.508074] ivtv0 info: 22 (rev 1) at 00:0d.0, irq: 22, latency: 64,
memory: 0x48000000
[   37.508078] ivtv0 info: attempting ioremap at 0x48000000 len
0x00800000
[   37.508125] ivtv0 info: attempting ioremap at 0x4a000000 len
0x00010000
[   37.508130] ivtv0 info: Preparing for firmware halt.
[   37.514147] ivtv0 info: Stopping VDM
[   37.514149] ivtv0 info: Stopping AO
[   37.514151] ivtv0 info: pinging (?) APU
[   37.514153] ivtv0 info: Stopping VPU
[   37.514156] ivtv0 info: Resetting Hw Blocks
[   37.514158] ivtv0 info: Stopping SPU
[   37.522095] ivtv0 info: init Encoder SDRAM pre-charge
[   37.522097] ivtv0 info: init Encoder SDRAM refresh to 1us
[   37.522100] ivtv0 info: Sleeping for 600ms (600 recommended)
[   38.121365] ivtv0 info: Loading encoder image
[   38.121406] PM: Adding info for No Bus:0000:00:0d.0
[   38.226760] PM: Removing info for No Bus:0000:00:0d.0
[   38.236949] ivtv0: loaded v4l-cx2341x-enc.fw firmware (376836 bytes)
[   38.433021] ivtv0 api: API Call: CX2341X_ENC_PING_FW
[   38.440985] ivtv0 info: Getting firmware version..
[   38.440989] ivtv0 api: API Call: CX2341X_ENC_GET_VERSION
[   38.448973] ivtv0: Encoder revision: 0x02060039
[   38.448978] ivtv0 info: GPIO initial dir: 0000c000 out: 00000000
[   38.448981] ivtv0 info: activating i2c...
[   38.448984] ivtv0 i2c: i2c init
[   38.448988] ivtv0 i2c: setting scl and sda to 1
[   38.449035] PM: Adding info for No Bus:i2c-0
[   38.450977] PM: Adding info for i2c:0-0050
[   38.451003] ivtv0 i2c: i2c client attach
[   38.455940] ivtv0 info: Active card count: 1.
[   38.464603] ivtv0 info: Loaded module tveeprom
[   38.516786] tveeprom 0-0050: Hauppauge model 25019, rev C589, serial#
9928629
[   38.516790] tveeprom 0-0050: tuner model is TCL MFPE05 2 (idx 89,
type 38)
[   38.516794] tveeprom 0-0050: TV standards PAL(B/G) PAL(I) SECAM(L/L')
PAL(D/D1/K) (eeprom 0x74)
[   38.516798] tveeprom 0-0050: audio processor is CX25843 (idx 37)
[   38.516801] tveeprom 0-0050: decoder processor is CX25843 (idx 30)
[   38.516805] tveeprom 0-0050: has radio, has no IR receiver, has no IR
transmitter
[   38.516809] ivtv0: Autodetected Hauppauge WinTV PVR-150
[   38.516812] ivtv0 info: PAL tuner detected
[   38.570720] tuner 0-0043: chip found @ 0x86 (ivtv i2c driver #0)
[   38.570739] PM: Adding info for i2c:0-0043
[   38.570756] ivtv0 i2c: i2c client attach
[   38.570760] tda9887 0-0043: tda988[5/6/7] found @ 0x43 (tuner)
[   38.573960] tuner 0-0061: chip found @ 0xc2 (ivtv i2c driver #0)
[   38.573967] PM: Adding info for i2c:0-0061
[   38.573977] ivtv0 i2c: i2c client attach
[   38.587917] ivtv0 info: Loaded module tuner
[   38.623595] cx25840 0-0044: cx25843-24 found @ 0x88 (ivtv i2c driver
#0)
[   38.623612] PM: Adding info for i2c:0-0044
[   38.623631] ivtv0 i2c: i2c client attach
[   38.640454] PM: Adding info for No Bus:0-0044
[   38.664008] PM: Removing info for No Bus:0-0044
[   42.138437] cx25840 0-0044: loaded v4l-cx25840.fw firmware (16382
bytes)
[   42.216603] ivtv0 info: Loaded module cx25840
[   42.256928] wm8775 0-001b: chip found @ 0x36 (ivtv i2c driver #0)
[   42.265203] PM: Adding info for i2c:0-001b
[   42.265220] ivtv0 i2c: i2c client attach
[   42.265378] ivtv0 info: Loaded module wm8775
[   42.265385] ivtv0 i2c: call_i2c_client addr=44
[   42.304807] tuner 0-0061: type set to 38 (Philips PAL/SECAM multi
(FM1216ME MK3))
[   42.304814] ivtv0 info: Changing input from 1 to 0
[   42.304818] ivtv0 ioctl: VIDIOC_S_CTRL(00980909, 1)
[   42.304822] ivtv0 i2c: call_i2c_client addr=44
[   42.307546] ivtv0 info: Mute
[   42.307549] ivtv0 i2c: call_i2c_client addr=44
[   42.348205] ivtv0 i2c: call_i2c_client addr=1b
[   42.350733] ivtv0 i2c: call_i2c_client addr=44
[   42.390123] ivtv0 api: API Call: CX2341X_ENC_INITIALIZE_INPUT
[   42.496011] ivtv0 ioctl: VIDIOC_S_CTRL(00980909, 0)
[   42.496020] ivtv0 i2c: call_i2c_client addr=44
[   42.497922] ivtv0 info: Unmute
[   42.497927] ivtv0 ioctl: VIDIOC_S_CTRL(00980909, 1)
[   42.497929] ivtv0 i2c: call_i2c_client addr=44
[   42.500652] ivtv0 info: Mute
[   42.500655] ivtv0 info: v4l2 ioctl: set frequency 6400
[   42.518775] ivtv0 api: API Call: CX2341X_ENC_INITIALIZE_INPUT
[   42.623895] ivtv0 ioctl: VIDIOC_S_CTRL(00980909, 0)
[   42.623904] ivtv0 i2c: call_i2c_client addr=44
[   42.625806] ivtv0 info: Unmute
[   42.627473] ivtv0: Registered device video0 for encoder MPEG (4 MB)
[   42.627481] ivtv0 info: Allocate DMA encoder MPEG stream: 128 x 32768
buffers (4096kB total)
[   42.629322] ivtv0: Registered device video32 for encoder YUV (2 MB)
[   42.629330] ivtv0 info: Allocate DMA encoder YUV stream: 161 x 12960
buffers (2037kB total)
[   42.629984] ivtv0: Registered device vbi0 for encoder VBI (1 MB)
[   42.629989] ivtv0 info: Allocate DMA encoder VBI stream: 40 x 26208
buffers (1023kB total)
[   42.630464] ivtv0: Registered device video24 for encoder PCM audio (1
MB)
[   42.630471] ivtv0 info: Allocate DMA encoder PCM audio stream: 227 x
4608 buffers (1021kB total)
[   42.631139] ivtv0: Registered device radio0 for encoder radio
[   42.631148] ivtv0 info: Switching standard to f.
[   42.661697] ivtv0 irq: Masking interrupts
[   42.661721] ivtv0: Initialized Hauppauge WinTV PVR-150, card #0
[   42.661758] ivtv:  ====================  END INIT IVTV
====================


It seems to me that it is initialised correctly. But when I try to use
tvtime it gives this error :

videoinput: Card failed to allocate capture buffers: Invalid argument

Mplayer Just crashes.

The other card is messed up as well :

[   37.297009] saa7130/34: v4l2 driver version 0.2.14 loaded
[   37.298400] ACPI: PCI Interrupt 0000:00:05.0[A] -> GSI 17 (level,
low) -> IRQ 22
[   37.298413] saa7134[0]: found at 0000:00:05.0, rev: 1, irq: 22,
latency: 32, mmio: 0x0
[   37.298422] saa7134[0]: subsystem: 5168:0300, board: LifeView
FlyDVB-S /Acorp TV134DS [card=97,autodetected]
[   37.298428] saa7134[0]: can't get MMIO memory @ 0x0
[   37.298436] saa7134: probe of 0000:00:05.0 failed with error -16
[   37.388554] saa7134 ALSA driver for DMA sound loaded
[   37.388561] saa7134 ALSA: no saa7134 cards found


I am using ubuntu feisty, and the situation is the same with the distro
provided kernel 2.6.20-16-generic and ivtv-0.10.2

I also compiled ivtv-0.10.3 and nothing changed.

I even compiled a 2.6.22-rc5 since I found out that the ivtv module got
merged in mainline.

I emailed this to ivtv mailing list as well as the linux-dvb mailing
list, but I thought I would re-post here in case the support team moved
after merging with mainline.

Can anyone please point me to the right way ?

Thank you.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Dual slot PCI riser messes up ivtv
  2007-06-21 11:49 Dual slot PCI riser messes up ivtv Islam Amer
@ 2007-06-22 15:41 ` Krzysztof Halasa
  0 siblings, 0 replies; 9+ messages in thread
From: Krzysztof Halasa @ 2007-06-22 15:41 UTC (permalink / raw)
  To: pharon; +Cc: linux-kernel

Islam Amer <pharon@gmail.com> writes:

> [   37.298400] ACPI: PCI Interrupt 0000:00:05.0[A] -> GSI 17 (level,
> low) -> IRQ 22
> [   37.298413] saa7134[0]: found at 0000:00:05.0, rev: 1, irq: 22,
> latency: 32, mmio: 0x0

The riser card must not be very active as the device(s) are sitting
on bus #0, that means no PCI-PCI bridge.

BTW: REQ/GraNT lines are not a problem and probably that's what the
manufacturer considers "active". IDSEL lines may be a problem (they
define device#, must not clash with other devices, and it would be
nice if the BIOS recognized them). IRQ lines are usually the main
problem.

OTOH I wonder if we should make it possible to force IRQs on
per-device basis? Or is it already possible?
-- 
Krzysztof Halasa

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Dual slot PCI riser messes up ivtv
  2007-06-21 16:26     ` Lennart Sorensen
@ 2007-06-28 17:04       ` Clemens Koller
  2007-06-24 14:27         ` Islam Amer
  0 siblings, 1 reply; 9+ messages in thread
From: Clemens Koller @ 2007-06-28 17:04 UTC (permalink / raw)
  To: Lennart Sorensen; +Cc: Robert Hancock, pharon, linux-kernel

Hi, Lennart!

Lennart Sorensen schrieb:
> On Thu, Jun 28, 2007 at 05:32:48PM +0200, Clemens Koller wrote:
>> Robert Hancock schrieb:
>>> Islam Amer wrote:
>>>> I am trying to build a settop box with two cards, a PVR-150 and a DVB
>>>> card. The mini-ITX motherboard has only one PCI slot, so I bought an
>>>> active PCI riser.
>> Please define "active". Is there a PCI bridge chip on the riser card?
>> Or better: Tell us manufacturer and type of this PCI riser card and the
>> mini-ITX board.
> 
> Certainly many riser cards only have jumpers to change the irq for the
> second slot, or some default built in remapping.  And they may have id
> select pins to pick which slots they should pretend to be.  From what I
> have read, via mini itx boards require a very specific design for riser
> boards, which isn't what most riser boards do.  Other mini itx boards
> are probably different.

The main problem is the unknown BIOS support for the PCI configuration.
Maybe the manufacturer is at least willing to publish the default
configuration, so the PCI riser can be modified/fixed to the same
config. (Just call him and ask for the board designer... YMMV)

However, AFAIK this (re-)configuration can be done by the kernel, too.
(on embedded ppc platforms, the PCI mapping is done in the kernel)

At least from the electrical engineer's point of view it's not
difficult to modify a dumb passive PCI riser card to have the IRQ's and
REQ/GNTs routed and have the IDSEL soldered with 220 Ohms to the
proper AD line pin. (been there, done that)
(If somebody want's to mess around with that stuff, contact
me off list, it's getting OT here.)

> Certainly the simplest is a riser card with a proper pci bridge that
> creates a secondary pci bus with it's own device ids and maps the
> interrupts correctly.  Then all that really matters is that the bios on
> the board supports pci bridges (a few companies actually manage to fail
> to support pci bridges at all in their bioses).

True. It might be more easy to get that running, hoping that
the BIOS enumerates the bridge right.
Kernel support shouldn't be an issue here as long as the
chip is supported.

Best greets,
-- 
Clemens Koller
__________________________________
R&D Imaging Devices
Anagramm GmbH
Rupert-Mayer-Straße 45/1
Linhof Werksgelände
D-81379 München
Tel.089-741518-50
Fax 089-741518-19
http://www.anagramm-technology.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Dual slot PCI riser messes up ivtv
  2007-06-21 14:23 ` Robert Hancock
@ 2007-06-28 15:32   ` Clemens Koller
  2007-06-21 16:26     ` Lennart Sorensen
  0 siblings, 1 reply; 9+ messages in thread
From: Clemens Koller @ 2007-06-28 15:32 UTC (permalink / raw)
  To: Robert Hancock; +Cc: pharon, linux-kernel

Hi, Robert!

Robert Hancock schrieb:
> Islam Amer wrote:
 >> I am trying to build a settop box with two cards, a PVR-150 and a DVB
 >> card. The mini-ITX motherboard has only one PCI slot, so I bought an
 >> active PCI riser.

Please define "active". Is there a PCI bridge chip on the riser card?
Or better: Tell us manufacturer and type of this PCI riser card and the
mini-ITX board.

I am using a 1 to 3 PCI Bus riser card (passive, noname, bought it on ebay
some years ago).
The important thing is that in that case the IRQn lines as well as
the REQ#n and GNT#n lines are routed and coupled to the right IDSEL's of
the slots. It might be possible that the mini-ITX motherboard's PCI
configuration (BIOS) is limited there.
(This could propably be fixed in the kernel. At least in embedded
environments, it's common to have all PCI ID/IRQ routing
information in the kernel (or in the DeviceTree or OpenFirmware nowadays))

>> First I tried with two cheap lifeview cards on the riser and they
>> worked.

Propably they didn't need an interrupt?
$ cat /proc/interrupts ?

>> The PVR-150 is working fine alone, and so does the DVB card. But when I
>> use them with the riser nothing works.
> 
> Please post the output of lspci -vvv with the cards installed in the riser.

IRQ/IDSEL misconfiguration doesn't necessarily show up there.
Drivers might end up doing strange things if the IRQ never comes thru.
(experienced with Promise PDC20775 and PDC20269 HDD Controllers
on embedded PowerPC)

Just my $.05

Regards,
-- 
Clemens Koller
__________________________________
R&D Imaging Devices
Anagramm GmbH
Rupert-Mayer-Straße 45/1
Linhof Werksgelände
D-81379 München
Tel.089-741518-50
Fax 089-741518-19
http://www.anagramm-technology.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Dual slot PCI riser messes up ivtv
  2007-06-24 14:27         ` Islam Amer
  2007-06-24 16:24           ` Krzysztof Halasa
@ 2007-06-24 18:44           ` Clemens Koller
  1 sibling, 0 replies; 9+ messages in thread
From: Clemens Koller @ 2007-06-24 18:44 UTC (permalink / raw)
  To: pharon; +Cc: Lennart Sorensen, Robert Hancock, linux-kernel

Hello!

[problem with PCI riser card, hardware discussion]

> First the riser card is a dual slot one , with a chip on it so I assumed
> it is active. It has jumpers to set the device number of the upper slot
> and the devices in the two slots have to share the IRQ. This is it
> here :
> www.tranquilpc.co.uk/support/Files/TPC014/Tranquil%20Riser.pdf

No, that's not an active one as Krzysztof wrote already.
The GAL only does some simple things.

> Third : The bug lies in the situation where the PVR-150 card is in the
> upper slot and the DVB card is in the lower slot, in which case the DVB
> card does not work. That was the dmesg output I posted earlier.

I have the 32bit version of these cards:
http://paui.de/pub/archive/image/PCI_Riser_3x32bit_passive.jpg
http://paui.de/pub/archive/image/PCI_Riser_3x64bit_passive.jpg

As you can see, the cards are a 1:1 extension to the center slot.
The lower as well as the upper slot gets the additional signals from
the two small PCBs which are the four INTA...INTD and the REQest and
GraNT lines. The IDSELect's are soldered via 220R resistors to some
address lines.

> Fourth : here's cat /proc/interrupts in the current working situation
> with the PVR-150 card in the lower slot and the DVB card in the upper
> slot.
>   0:         64   IO-APIC-edge      timer
>   1:       1130   IO-APIC-edge      i8042
>   7:          0   IO-APIC-edge      parport0
>   8:          3   IO-APIC-edge      rtc
>   9:          0   IO-APIC-fasteoi   acpi
>  12:          4   IO-APIC-edge      i8042
>  14:      18035   IO-APIC-edge      ide0
>  17:          0   IO-APIC-fasteoi   ohci_hcd:usb1
>  18:         26   IO-APIC-fasteoi   ohci_hcd:usb2
>  19:          0   IO-APIC-fasteoi   ohci_hcd:usb3
>  20:          2   IO-APIC-fasteoi   ehci_hcd:usb4
>  21:      12329   IO-APIC-fasteoi   eth1
>  22:      16399   IO-APIC-fasteoi   SiS SI7012
>  23:      15020   IO-APIC-fasteoi   saa7134[0], saa7134[0], ivtv0
> NMI:          0 
> LOC:     757294 
> ERR:          0
> MIS:          0
> 
> As you can see the two cards are sharing the IRQ properly.

IRQ sharing is possible. But on the PCI Bus, the usually four
IRQ lines are wired in a "Round Robin" scheme to avoid IRQ sharing.

Additionally, each slot gets a unique ID by wiring the IDSELect
of the slot connector to an AD bus line on the motherboard as
mentioned above.

So, each slot with a ID get it's fixed IRQ routed (along with the
REQn/GNTn lines). If the IDs and the IRQ lines don't fit together,
you might run into problems like you mentioned.
I think it's possible to tell the kernel the right ID-IRQ routing
associations manually. But I think it's not easy to get the BIOS fixed.
So, I suggest to figure out how the BIOS (the kernel get that
info from the BIOS, AFAIK (is that correct?)) wants to see its IRQ
on the IDs and rewire the riser card that they all fit together.

Well... that's what I did some time ago. For me it is more easy
to fit the hardware once to the default kernel settings instead of
patching every kernel on my embedded platform.

You can find some more details here:
http://www.formfactors.org/developer%5Cspecs%5CATX_Spec_V1_0.pdf
And there is the official PCI Spec at http://www.pcisig.com
however you have to be a member of the PCI SIG.

Good luck,
-- 
Clemens Koller
_______________________________
R&D Imaging Devices
Anagramm GmbH
Rupert-Mayer-Str. 45/1
81379 Muenchen
Germany

http://www.anagramm-technology.com
Phone: +49-89-741518-50
Fax: +49-89-741518-19

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Dual slot PCI riser messes up ivtv
  2007-06-24 14:27         ` Islam Amer
@ 2007-06-24 16:24           ` Krzysztof Halasa
  2007-06-24 18:44           ` Clemens Koller
  1 sibling, 0 replies; 9+ messages in thread
From: Krzysztof Halasa @ 2007-06-24 16:24 UTC (permalink / raw)
  To: pharon; +Cc: Clemens Koller, Lennart Sorensen, Robert Hancock, linux-kernel

Islam Amer <pharon@gmail.com> writes:

> First the riser card is a dual slot one , with a chip on it so I assumed
> it is active.

Perhaps REQ/GNT arbiter. A PCI-PCI bridge is a 100+ pin chip.

> Third : The bug lies in the situation where the PVR-150 card is in the
> upper slot and the DVB card is in the lower slot, in which case the DVB
> card does not work. That was the dmesg output I posted earlier.

Interesting, the lower slot is probably wired directly to edge
connector so it should work. The upper connector should be the
problematic.
-- 
Krzysztof Halasa

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Dual slot PCI riser messes up ivtv
  2007-06-28 17:04       ` Clemens Koller
@ 2007-06-24 14:27         ` Islam Amer
  2007-06-24 16:24           ` Krzysztof Halasa
  2007-06-24 18:44           ` Clemens Koller
  0 siblings, 2 replies; 9+ messages in thread
From: Islam Amer @ 2007-06-24 14:27 UTC (permalink / raw)
  To: Clemens Koller; +Cc: Lennart Sorensen, Robert Hancock, linux-kernel

On Thu, 2007-06-28 at 19:04 +0200, Clemens Koller wrote:
> Hi, Lennart!
> 
> Lennart Sorensen schrieb:
> > On Thu, Jun 28, 2007 at 05:32:48PM +0200, Clemens Koller wrote:
> >> Robert Hancock schrieb:
> >>> Islam Amer wrote:
> >>>> I am trying to build a settop box with two cards, a PVR-150 and a DVB
> >>>> card. The mini-ITX motherboard has only one PCI slot, so I bought an
> >>>> active PCI riser.
> >> Please define "active". Is there a PCI bridge chip on the riser card?
> >> Or better: Tell us manufacturer and type of this PCI riser card and the
> >> mini-ITX board.
> > 
> > Certainly many riser cards only have jumpers to change the irq for the
> > second slot, or some default built in remapping.  And they may have id
> > select pins to pick which slots they should pretend to be.  From what I
> > have read, via mini itx boards require a very specific design for riser
> > boards, which isn't what most riser boards do.  Other mini itx boards
> > are probably different.
> 
> The main problem is the unknown BIOS support for the PCI configuration.
> Maybe the manufacturer is at least willing to publish the default
> configuration, so the PCI riser can be modified/fixed to the same
> config. (Just call him and ask for the board designer... YMMV)
> 
> However, AFAIK this (re-)configuration can be done by the kernel, too.
> (on embedded ppc platforms, the PCI mapping is done in the kernel)
> 
> At least from the electrical engineer's point of view it's not
> difficult to modify a dumb passive PCI riser card to have the IRQ's and
> REQ/GNTs routed and have the IDSEL soldered with 220 Ohms to the
> proper AD line pin. (been there, done that)
> (If somebody want's to mess around with that stuff, contact
> me off list, it's getting OT here.)
> 
> > Certainly the simplest is a riser card with a proper pci bridge that
> > creates a secondary pci bus with it's own device ids and maps the
> > interrupts correctly.  Then all that really matters is that the bios on
> > the board supports pci bridges (a few companies actually manage to fail
> > to support pci bridges at all in their bioses).
> 
> True. It might be more easy to get that running, hoping that
> the BIOS enumerates the bridge right.
> Kernel support shouldn't be an issue here as long as the
> chip is supported.
> 
> Best greets,

Sorry for the late reply, I don't have internet connection at home yet.

I tested things a little more and the situation is getting better.

First the riser card is a dual slot one , with a chip on it so I assumed
it is active. It has jumpers to set the device number of the upper slot
and the devices in the two slots have to share the IRQ. This is it
here :
www.tranquilpc.co.uk/support/Files/TPC014/Tranquil%20Riser.pdf

Second : I found out that tvtime and mplayer cannot deal with the
pvr-150 card as a normal analogue card. mplayer can deal with it using
the pvr:// syntax. Also using ivtv-tune and mplayer /dev/video0 works.

So the error tvtime was giving was probably because it uses v4l1 ioctls
which are not supported by ivtv or something, just a wild guess.

Mythtv works fine when choosing MPEG2 card.

Third : The bug lies in the situation where the PVR-150 card is in the
upper slot and the DVB card is in the lower slot, in which case the DVB
card does not work. That was the dmesg output I posted earlier.

Fourth : here's cat /proc/interrupts in the current working situation
with the PVR-150 card in the lower slot and the DVB card in the upper
slot.
  0:         64   IO-APIC-edge      timer
  1:       1130   IO-APIC-edge      i8042
  7:          0   IO-APIC-edge      parport0
  8:          3   IO-APIC-edge      rtc
  9:          0   IO-APIC-fasteoi   acpi
 12:          4   IO-APIC-edge      i8042
 14:      18035   IO-APIC-edge      ide0
 17:          0   IO-APIC-fasteoi   ohci_hcd:usb1
 18:         26   IO-APIC-fasteoi   ohci_hcd:usb2
 19:          0   IO-APIC-fasteoi   ohci_hcd:usb3
 20:          2   IO-APIC-fasteoi   ehci_hcd:usb4
 21:      12329   IO-APIC-fasteoi   eth1
 22:      16399   IO-APIC-fasteoi   SiS SI7012
 23:      15020   IO-APIC-fasteoi   saa7134[0], saa7134[0], ivtv0
NMI:          0 
LOC:     757294 
ERR:          0
MIS:          0

As you can see the two cards are sharing the IRQ properly.

Thanks and sorry for replying late.



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Dual slot PCI riser messes up ivtv
  2007-06-28 15:32   ` Clemens Koller
@ 2007-06-21 16:26     ` Lennart Sorensen
  2007-06-28 17:04       ` Clemens Koller
  0 siblings, 1 reply; 9+ messages in thread
From: Lennart Sorensen @ 2007-06-21 16:26 UTC (permalink / raw)
  To: Clemens Koller; +Cc: Robert Hancock, pharon, linux-kernel

On Thu, Jun 28, 2007 at 05:32:48PM +0200, Clemens Koller wrote:
> Robert Hancock schrieb:
> >Islam Amer wrote:
> >> I am trying to build a settop box with two cards, a PVR-150 and a DVB
> >> card. The mini-ITX motherboard has only one PCI slot, so I bought an
> >> active PCI riser.
> 
> Please define "active". Is there a PCI bridge chip on the riser card?
> Or better: Tell us manufacturer and type of this PCI riser card and the
> mini-ITX board.

Certainly many riser cards only have jumpers to change the irq for the
second slot, or some default built in remapping.  And they may have id
select pins to pick which slots they should pretend to be.  From what I
have read, via mini itx boards require a very specific design for riser
boards, which isn't what most riser boards do.  Other mini itx boards
are probably different.

> I am using a 1 to 3 PCI Bus riser card (passive, noname, bought it on ebay
> some years ago).
> The important thing is that in that case the IRQn lines as well as
> the REQ#n and GNT#n lines are routed and coupled to the right IDSEL's of
> the slots. It might be possible that the mini-ITX motherboard's PCI
> configuration (BIOS) is limited there.
> (This could propably be fixed in the kernel. At least in embedded
> environments, it's common to have all PCI ID/IRQ routing
> information in the kernel (or in the DeviceTree or OpenFirmware nowadays))

Certainly the simplest is a riser card with a proper pci bridge that
creates a secondary pci bus with it's own device ids and maps the
interrupts correctly.  Then all that really matters is that the bios on
the board supports pci bridges (a few companies actually manage to fail
to support pci bridges at all in their bioses).

--
Len Sorensen

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Dual slot PCI riser messes up ivtv
       [not found] <fa.ELPuDi4dcntxF8hk4oCNldcvgoc@ifi.uio.no>
@ 2007-06-21 14:23 ` Robert Hancock
  2007-06-28 15:32   ` Clemens Koller
  0 siblings, 1 reply; 9+ messages in thread
From: Robert Hancock @ 2007-06-21 14:23 UTC (permalink / raw)
  To: pharon; +Cc: linux-kernel

Islam Amer wrote:
> Hello everyone.
> 
> I am trying to build a settop box with two cards, a PVR-150 and a DVB
> card. The mini-ITX motherboard has only one PCI slot, so I bought an
> active PCI riser.
> 
> First I tried with two cheap lifeview cards on the riser and they
> worked.
>  
> The PVR-150 is working fine alone, and so does the DVB card. But when I
> use them with the riser nothing works.

Please post the output of lspci -vvv with the cards installed in the riser.

-- 
Robert Hancock      Saskatoon, SK, Canada
To email, remove "nospam" from hancockr@nospamshaw.ca
Home Page: http://www.roberthancock.com/


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2007-06-24 18:45 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-06-21 11:49 Dual slot PCI riser messes up ivtv Islam Amer
2007-06-22 15:41 ` Krzysztof Halasa
     [not found] <fa.ELPuDi4dcntxF8hk4oCNldcvgoc@ifi.uio.no>
2007-06-21 14:23 ` Robert Hancock
2007-06-28 15:32   ` Clemens Koller
2007-06-21 16:26     ` Lennart Sorensen
2007-06-28 17:04       ` Clemens Koller
2007-06-24 14:27         ` Islam Amer
2007-06-24 16:24           ` Krzysztof Halasa
2007-06-24 18:44           ` Clemens Koller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).