From: Olof Johansson <olof@lixom•net>
To: Paul Mackerras <paulus@samba•org>
Cc: linuxppc-dev@ozlabs•org
Subject: [PATCH] [7/9] pasemi: Configure DMA controller interrupts
Date: Thu, 01 Feb 2007 22:54:55 -0600 [thread overview]
Message-ID: <20070202045509.170129000@lixom.net> (raw)
In-Reply-To: 20070202045448.145851000@lixom.net
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>
Index: merge/arch/powerpc/platforms/pasemi/pci.c
===================================================================
--- merge.orig/arch/powerpc/platforms/pasemi/pci.c
+++ merge/arch/powerpc/platforms/pasemi/pci.c
@@ -163,6 +163,19 @@ static void __init pas_fixup_phb_resourc
}
+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;
Index: merge/arch/powerpc/platforms/pasemi/setup.c
===================================================================
--- merge.orig/arch/powerpc/platforms/pasemi/setup.c
+++ merge/arch/powerpc/platforms/pasemi/setup.c
@@ -242,4 +242,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,
};
Index: merge/arch/powerpc/platforms/pasemi/pasemi.h
===================================================================
--- merge.orig/arch/powerpc/platforms/pasemi/pasemi.h
+++ merge/arch/powerpc/platforms/pasemi/pasemi.h
@@ -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);
--
next prev parent reply other threads:[~2007-02-02 5:04 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-02-02 4:54 [PATCH] [0/9] PA Semi patches Olof Johansson
2007-02-02 4:54 ` [PATCH] [1/9] pasemi: Default root device Olof Johansson
2007-02-02 22:28 ` Geoff Levand
2007-02-04 22:18 ` Olof Johansson
2007-02-04 22:37 ` Olof Johansson
2007-02-02 4:54 ` [PATCH] [2/9] pasemi: UART udbg support Olof Johansson
2007-02-02 4:54 ` [PATCH] [3/9] pasemi: Machine check handler Olof Johansson
2007-02-04 23:49 ` Benjamin Herrenschmidt
2007-02-05 4:19 ` Olof Johansson
2007-02-02 4:54 ` [PATCH] [4/9] pasemi: Idle loops Olof Johansson
2007-02-03 8:27 ` Arnd Bergmann
2007-02-04 22:25 ` Olof Johansson
2007-02-02 4:54 ` [PATCH] [5/9] pasemi: Implement restart Olof Johansson
2007-02-02 6:07 ` Kumar Gala
2007-02-02 18:46 ` Olof Johansson
2007-02-02 4:54 ` [PATCH] [6/9] pasemi: SMP timebase sync Olof Johansson
2007-02-02 4:54 ` Olof Johansson [this message]
2007-02-04 23:53 ` [PATCH] [7/9] pasemi: Configure DMA controller interrupts Benjamin Herrenschmidt
2007-02-05 4:52 ` Olof Johansson
2007-02-02 4:54 ` [PATCH] [8/9] pasemi: iommu support Olof Johansson
2007-02-02 4:54 ` [PATCH] [9/9] pasemi: defconfig Olof Johansson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070202045509.170129000@lixom.net \
--to=olof@lixom$(echo .)net \
--cc=linuxppc-dev@ozlabs$(echo .)org \
--cc=paulus@samba$(echo .)org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox