Re: Dual slot PCI riser messes up ivtv

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

 



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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux