diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1998-08-25 09:12:35 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1998-08-25 09:12:35 +0000 |
commit | c7fc24dc4420057f103afe8fc64524ebc25c5d37 (patch) | |
tree | 3682407a599b8f9f03fc096298134cafba1c9b2f /include/asm-sparc64/pbm.h | |
parent | 1d793fade8b063fde3cf275bf1a5c2d381292cd9 (diff) |
o Merge with Linux 2.1.116.
o New Newport console code.
o New G364 console code.
Diffstat (limited to 'include/asm-sparc64/pbm.h')
-rw-r--r-- | include/asm-sparc64/pbm.h | 47 |
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) */ |