aboutsummaryrefslogtreecommitdiff
path: root/arch/sparc64/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sparc64/kernel')
-rw-r--r--arch/sparc64/kernel/pci.c6
-rw-r--r--arch/sparc64/kernel/pci_common.c28
2 files changed, 23 insertions, 11 deletions
diff --git a/arch/sparc64/kernel/pci.c b/arch/sparc64/kernel/pci.c
index a868c3792ef..6c9e3e94aba 100644
--- a/arch/sparc64/kernel/pci.c
+++ b/arch/sparc64/kernel/pci.c
@@ -406,8 +406,14 @@ void pcibios_bus_to_resource(struct pci_dev *pdev, struct resource *res,
}
EXPORT_SYMBOL(pcibios_bus_to_resource);
+extern int pci_irq_verbose;
+
char * __init pcibios_setup(char *str)
{
+ if (!strcmp(str, "irq_verbose")) {
+ pci_irq_verbose = 1;
+ return NULL;
+ }
return str;
}
diff --git a/arch/sparc64/kernel/pci_common.c b/arch/sparc64/kernel/pci_common.c
index fc71b28795a..2319d732b13 100644
--- a/arch/sparc64/kernel/pci_common.c
+++ b/arch/sparc64/kernel/pci_common.c
@@ -10,6 +10,9 @@
#include <asm/pbm.h>
+/* Pass "pci=irq_verbose" on the kernel command line to enable this. */
+int pci_irq_verbose;
+
/* Fix self device of BUS and hook it into BUS->self.
* The pci_scan_bus does not do this for the host bridge.
*/
@@ -556,9 +559,10 @@ static inline unsigned int pci_slot_swivel(struct pci_pbm_info *pbm,
ret = ((interrupt - 1 + (PCI_SLOT(pdev->devfn) & 3)) & 3) + 1;
- printk("%s: %s IRQ Swivel %s [%x:%x] -> [%x]\n",
- pbm->name, pci_name(toplevel_pdev), pci_name(pdev),
- interrupt, PCI_SLOT(pdev->devfn), ret);
+ if (pci_irq_verbose)
+ printk("%s: %s IRQ Swivel %s [%x:%x] -> [%x]\n",
+ pbm->name, pci_name(toplevel_pdev), pci_name(pdev),
+ interrupt, PCI_SLOT(pdev->devfn), ret);
return ret;
}
@@ -616,10 +620,11 @@ static inline unsigned int pci_apply_intmap(struct pci_pbm_info *pbm,
}
}
- printk("%s: %s MAP BUS %s DEV %s [%x] -> [%x]\n",
- pbm->name, pci_name(toplevel_pdev),
- pci_name(pbus), pci_name(pdev),
- orig_interrupt, interrupt);
+ if (pci_irq_verbose)
+ printk("%s: %s MAP BUS %s DEV %s [%x] -> [%x]\n",
+ pbm->name, pci_name(toplevel_pdev),
+ pci_name(pbus), pci_name(pdev),
+ orig_interrupt, interrupt);
no_intmap:
return interrupt;
@@ -714,10 +719,11 @@ fail:
return 0;
success:
- printk("%s: Routing bus[%2x] slot[%2x] to INO[%02x]\n",
- pbm->name,
- pdev->bus->number, PCI_SLOT(pdev->devfn),
- *interrupt);
+ if (pci_irq_verbose)
+ printk("%s: Routing bus[%2x] slot[%2x] to INO[%02x]\n",
+ pbm->name,
+ pdev->bus->number, PCI_SLOT(pdev->devfn),
+ *interrupt);
return 1;
}