patch-2.1.101 linux/include/asm-sparc64/pbm.h
Next file: linux/include/asm-sparc64/pgtable.h
Previous file: linux/include/asm-sparc64/page.h
Back to the patch index
Back to the overall index
- Lines: 49
- Date:
Fri May 8 00:11:36 1998
- Orig file:
v2.1.100/linux/include/asm-sparc64/pbm.h
- Orig date:
Thu Apr 23 20:21:38 1998
diff -u --recursive --new-file v2.1.100/linux/include/asm-sparc64/pbm.h linux/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.13 1998/04/20 07:15:11 ecd Exp $
* pbm.h: U2P PCI bus module pseudo driver software state.
*
* Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu)
@@ -90,20 +90,21 @@
* 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_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 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_DMA_SYNC 0x00001000 /* IRQ needs DMA sync for APB */
+#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 long ino, int dma_sync)
{
unsigned int irq;
@@ -112,8 +113,14 @@
irq |= ((psycho_instance << PCI_IRQ_BUSNO_SHFT) & PCI_IRQ_BUSNO);
irq |= ((ign << 6) & PCI_IRQ_IGN);
irq |= (ino & PCI_IRQ_INO);
+ irq |= dma_sync ? PCI_IRQ_DMA_SYNC : 0;
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) */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov