ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / include / asm-ia64 / sn / pci / pci_bus_cvlink.h
1 /*
2  * This file is subject to the terms and conditions of the GNU General Public
3  * License.  See the file "COPYING" in the main directory of this archive
4  * for more details.
5  *
6  * Copyright (C) 1992 - 1997, 2000-2003 Silicon Graphics, Inc. All rights reserved.
7  */
8 #ifndef _ASM_IA64_SN_PCI_CVLINK_H
9 #define _ASM_IA64_SN_PCI_CVLINK_H
10
11 #include <asm/sn/types.h>
12 #include <asm/sn/sgi.h>
13 #include <asm/sn/driver.h>
14 #include <asm/sn/iograph.h>
15 #include <asm/param.h>
16 #include <asm/sn/pio.h>
17 #include <asm/sn/xtalk/xwidget.h>
18 #include <asm/sn/sn_private.h>
19 #include <asm/sn/addrs.h>
20 #include <asm/sn/hcl.h>
21 #include <asm/sn/hcl_util.h>
22 #include <asm/sn/intr.h>
23 #include <asm/sn/xtalk/xtalkaddrs.h>
24 #include <asm/sn/klconfig.h>
25 #include <asm/sn/io.h>
26
27 #include <asm/sn/pci/pciio.h>
28 #include <asm/sn/pci/pcibr.h>
29 #include <asm/sn/pci/pcibr_private.h>
30
31 #define MAX_PCI_XWIDGET 256
32 #define MAX_ATE_MAPS 1024
33
34 #define SN_DEVICE_SYSDATA(dev) \
35         ((struct sn_device_sysdata *) \
36         (((struct pci_controller *) ((dev)->sysdata))->platform_data))
37
38 #define IS_PCI32G(dev)  ((dev)->dma_mask >= 0xffffffff)
39 #define IS_PCI32L(dev)  ((dev)->dma_mask < 0xffffffff)
40
41 #define PCIDEV_VERTEX(pci_dev) \
42         ((SN_DEVICE_SYSDATA(pci_dev))->vhdl)
43
44 struct sn_widget_sysdata {
45         vertex_hdl_t  vhdl;
46 };
47
48 struct sn_device_sysdata {
49         vertex_hdl_t            vhdl;
50         pciio_provider_t        *pci_provider;
51         pciio_intr_t            intr_handle;
52         struct sn_flush_device_list *dma_flush_list;
53         pciio_piomap_t          pio_map[PCI_ROM_RESOURCE];
54 };
55
56 struct ioports_to_tlbs_s {
57         unsigned long   p:1,
58                         rv_1:1,
59                         ma:3,
60                         a:1,
61                         d:1,
62                         pl:2,
63                         ar:3,
64                         ppn:38,
65                         rv_2:2,
66                         ed:1,
67                         ig:11;
68 };
69
70 #endif                          /* _ASM_IA64_SN_PCI_CVLINK_H */