Skip to content

Commit

Permalink
[POWERPC] pasemi: Configure DMA controller interrupts
Browse files Browse the repository at this point in the history
The DMA controller on PWRficient is somewhat special -- has a PCI header
so it looks like it's on the root PCI (-Express) root bus, but it uses
more than the default number of interrupts (and they are hardwired).

We need to wire up all interrupts for the DMA controller. The generic
IRQ code will only map the primary interrupt from the PCI header (128),
so add 129->211 by hand.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
  • Loading branch information
Olof Johansson authored and Paul Mackerras committed Feb 7, 2007
1 parent c388cfe commit f9fba5b
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 0 deletions.
1 change: 1 addition & 0 deletions arch/powerpc/platforms/pasemi/pasemi.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

extern unsigned long pas_get_boot_time(void);
extern void pas_pci_init(void);
extern void __devinit pas_pci_irq_fixup(struct pci_dev *dev);

extern void __init pasemi_idle_init(void);

Expand Down
13 changes: 13 additions & 0 deletions arch/powerpc/platforms/pasemi/pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,19 @@ static void __init pas_fixup_phb_resources(void)
}


void __devinit pas_pci_irq_fixup(struct pci_dev *dev)
{
/* DMA is special, 84 interrupts (128 -> 211), all but 128
* need to be mapped by hand here.
*/
if (dev->vendor == 0x1959 && dev->device == 0xa007) {
int i;
for (i = 129; i < 212; i++)
irq_create_mapping(NULL, i);
}
}


void __init pas_pci_init(void)
{
struct device_node *np, *root;
Expand Down
1 change: 1 addition & 0 deletions arch/powerpc/platforms/pasemi/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -235,4 +235,5 @@ define_machine(pas) {
.check_legacy_ioport = pas_check_legacy_ioport,
.progress = pas_progress,
.machine_check_exception = pas_machine_check_handler,
.pci_irq_fixup = pas_pci_irq_fixup,
};

0 comments on commit f9fba5b

Please sign in to comment.