aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc64/kernel/pci_common.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@sunset.davemloft.net>2006-02-14 17:12:44 -0500
committerDavid S. Miller <davem@sunset.davemloft.net>2006-03-20 04:12:54 -0500
commite7093703d912254b5667dfe851a6d0f7e664f9df (patch)
tree9560b13ae240f6e3b0b1a3fd08ff8ab829b27d13 /arch/sparc64/kernel/pci_common.c
parent4a07e646c55be118442e464b7a2a9682c7131d9a (diff)
[SPARC64]: INO is never fully specified already on SUN4V.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/kernel/pci_common.c')
-rw-r--r--arch/sparc64/kernel/pci_common.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/arch/sparc64/kernel/pci_common.c b/arch/sparc64/kernel/pci_common.c
index 58310aacea28..1b1f89b35f67 100644
--- a/arch/sparc64/kernel/pci_common.c
+++ b/arch/sparc64/kernel/pci_common.c
@@ -703,16 +703,18 @@ static void __init pdev_fixup_irq(struct pci_dev *pdev)
703 return; 703 return;
704 } 704 }
705 705
706 /* Fully specified already? */ 706 if (tlb_type != hypervisor) {
707 if (((prom_irq & PCI_IRQ_IGN) >> 6) == portid) { 707 /* Fully specified already? */
708 pdev->irq = p->irq_build(pbm, pdev, prom_irq); 708 if (((prom_irq & PCI_IRQ_IGN) >> 6) == portid) {
709 goto have_irq; 709 pdev->irq = p->irq_build(pbm, pdev, prom_irq);
710 } 710 goto have_irq;
711 }
711 712
712 /* An onboard device? (bit 5 set) */ 713 /* An onboard device? (bit 5 set) */
713 if ((prom_irq & PCI_IRQ_INO) & 0x20) { 714 if ((prom_irq & PCI_IRQ_INO) & 0x20) {
714 pdev->irq = p->irq_build(pbm, pdev, (portid << 6 | prom_irq)); 715 pdev->irq = p->irq_build(pbm, pdev, (portid << 6 | prom_irq));
715 goto have_irq; 716 goto have_irq;
717 }
716 } 718 }
717 719
718 /* Can we find a matching entry in the interrupt-map? */ 720 /* Can we find a matching entry in the interrupt-map? */