summaryrefslogtreecommitdiffstats
path: root/include/asm-sparc64/pbm.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-sparc64/pbm.h')
-rw-r--r--include/asm-sparc64/pbm.h47
1 files changed, 7 insertions, 40 deletions
diff --git a/include/asm-sparc64/pbm.h b/include/asm-sparc64/pbm.h
index 3adcc9583..adb1e10bf 100644
--- a/include/asm-sparc64/pbm.h
+++ b/include/asm-sparc64/pbm.h
@@ -1,4 +1,4 @@
-/* $Id: pbm.h,v 1.12 1998/04/10 12:29:55 ecd Exp $
+/* $Id: pbm.h,v 1.14 1998/05/29 06:00:40 ecd Exp $
* pbm.h: U2P PCI bus module pseudo driver software state.
*
* Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu)
@@ -74,46 +74,13 @@ struct pcidev_cookie {
int prom_node;
};
-extern struct linux_psycho *psycho_root;
-extern struct linux_psycho **psycho_index_map;
-extern int linux_num_psycho;
-static __inline__ struct linux_psycho *
-psycho_by_index(int index)
-{
- if (index >= linux_num_psycho)
- return NULL;
- return psycho_index_map[index];
-}
+#define PCI_IRQ_IGN 0x000007c0 /* PSYCHO "Int Group Number". */
+#define PCI_IRQ_INO 0x0000003f /* PSYCHO INO. */
-/* Special PCI IRQ encoding, this just makes life easier for the generic
- * irq registry layer, there is already enough crap in there due to sbus,
- * fhc, and dcookies.
- */
-#define PCI_IRQ_IDENT 0x80000000 /* This tells irq.c what we are */
-#define PCI_IRQ_IMAP_OFF 0x7ff00000 /* Offset from first PSYCHO imap */
-#define PCI_IRQ_IMAP_OFF_SHFT 20
-#define PCI_IRQ_BUSNO 0x000fc000 /* PSYCHO instance */
-#define PCI_IRQ_BUSNO_SHFT 14
-#define PCI_IRQ_IGN 0x000007c0 /* PSYCHO "Int Group Number" */
-#define PCI_IRQ_INO 0x0000003f /* PSYCHO INO */
-
-#define PCI_IRQ_P(__irq) (((__irq) & PCI_IRQ_IDENT) != 0)
-
-extern __inline__ unsigned int pci_irq_encode(unsigned long imap_off,
- unsigned long psycho_instance,
- unsigned long ign,
- unsigned long ino)
-{
- unsigned int irq;
-
- irq = PCI_IRQ_IDENT;
- irq |= ((imap_off << PCI_IRQ_IMAP_OFF_SHFT) & PCI_IRQ_IMAP_OFF);
- irq |= ((psycho_instance << PCI_IRQ_BUSNO_SHFT) & PCI_IRQ_BUSNO);
- irq |= ((ign << 6) & PCI_IRQ_IGN);
- irq |= (ino & PCI_IRQ_INO);
-
- return irq;
-}
+/* Used by EBus */
+extern unsigned int psycho_irq_build(struct linux_pbm_info *pbm,
+ struct pci_dev *pdev,
+ unsigned int full_ino);
#endif /* !(__SPARC64_PBM_H) */