Various PMac PCI patches

Geert Uytterhoeven Geert.Uytterhoeven at
Mon Aug 16 17:32:51 EST 1999

On Sun, 15 Aug 1999, Michel Lanners wrote:
> >> - The IRQ fixup code already checks for the presence of interrupts, so
> >> I'v changed Martin's comment. Also, I'm not sure if PMac PCI boards can
> >> ever use more than one interrupt, as all PCI interrupt lines are OR'ed
> >> together on the bridge....
> > 
> >    If they really are, just kill the whole comment, it's bogus.
> OK, I'll do that. Paul, any idea whether the IRQ OR'ing is done on the
> MPC106 as well? Geert, what about your board?

On the LongTrail, interrupts are controlled by the OpenPIC in the Hydra Mac
I/O. This OpenPic has 20 inputs, of which 6 are used by PCI (asm-ppc/hydra.h):

#define HYDRA_INT_EXT1          12      /* PCI IRQW */
#define HYDRA_INT_EXT2          13      /* PCI IRQX */
#define HYDRA_INT_EXT3          14      /* PCI IRQY */
#define HYDRA_INT_EXT4          15      /* PCI IRQZ */
#define HYDRA_INT_EXT5          16      /* IDE Primay/Secondary */
#define HYDRA_INT_EXT6          17      /* IDE Secondary */

FYI, input 0 is used for the legacy ISA cascade.

IRQ[W-Z] are wired to INT #A-D in the 4 PCI slots using the standard interrupt
line rotating technique. Full schematics at :-)

The IDE interrupts are wired to the interrupt lines on the W83C553 PCI/ISA+IDE.

> >    No driver should touch PCI_INTERRUPT_LINE at all. If it does,
> > it's buggy and should be fixed instead of working around it in generic
> > PCI code. The only correct way how to get the interrupt number is to
> > look at pci_dev->irq (on some architectures, the interrupt numbers
> > are too large to fit in the interrupt line configuration register).
> OK, then I'll only update pci_dev->irq. We'll see if any driver
> breaks ;-)

On the LongTrail (and other PPC boxes with OpenPIC), pci_dev->irq is changed by
the PCI fixup code since interrupts 1-16 are mapped to the legacy ISA
interrupts for compatibility reasons, while 17-36 are the 20 OpenPIC



Geert Uytterhoeven                     Geert.Uytterhoeven at
Wavelets, Linux/{m68k~Amiga,PPC~CHRP}
Department of Computer Science -- Katholieke Universiteit Leuven -- Belgium

[[ This message was sent via the linuxppc-dev mailing list.  Replies are ]]
[[ not  forced  back  to the list, so be sure to Cc linuxppc-dev if your ]]
[[ reply is of general interest. Please check ]]
[[ and for useful information before posting.   ]]

More information about the Linuxppc-dev mailing list