Update ia64 patch to 2.5.69-030521, throwing away the parts included
[linux-flexiantxendom0-3.2.10.git] / include / asm-ia64 / sn / pci / pci_bus_cvlink.h
1 /* $Id$
2  *
3  * This file is subject to the terms and conditions of the GNU General Public
4  * License.  See the file "COPYING" in the main directory of this archive
5  * for more details.
6  *
7  * Copyright (C) 1992 - 1997, 2000-2003 Silicon Graphics, Inc. All rights reserved.
8  */
9 #ifndef _ASM_SN_PCI_CVLINK_H
10 #define _ASM_SN_PCI_CVLINK_H
11
12 #include <asm/sn/types.h>
13 #include <asm/sn/sgi.h>
14 #include <asm/sn/driver.h>
15 #include <asm/sn/iograph.h>
16 #include <asm/param.h>
17 #include <asm/sn/pio.h>
18 #include <asm/sn/xtalk/xwidget.h>
19 #include <asm/sn/sn_private.h>
20 #include <asm/sn/addrs.h>
21 #include <asm/sn/invent.h>
22 #include <asm/sn/hcl.h>
23 #include <asm/sn/hcl_util.h>
24 #include <asm/sn/intr.h>
25 #include <asm/sn/xtalk/xtalkaddrs.h>
26 #include <asm/sn/klconfig.h>
27 #include <asm/sn/io.h>
28
29 #include <asm/sn/pci/pciio.h>
30 #include <asm/sn/pci/pcibr.h>
31 #include <asm/sn/pci/pcibr_private.h>
32
33 #define MAX_PCI_XWIDGET 256
34 #define MAX_ATE_MAPS 1024
35
36 #define SET_PCIA64(dev) \
37         (((struct sn_device_sysdata *)((dev)->sysdata))->isa64) = 1
38 #define IS_PCIA64(dev)  (((dev)->dma_mask == 0xffffffffffffffffUL) || \
39                 (((struct sn_device_sysdata *)((dev)->sysdata))->isa64))
40 #define IS_PCI32G(dev)  ((dev)->dma_mask >= 0xffffffff)
41 #define IS_PCI32L(dev)  ((dev)->dma_mask < 0xffffffff)
42
43 #define IS_PIC_DEVICE(dev) ((struct sn_device_sysdata *)dev->sysdata)->isPIC
44
45 #define PCIDEV_VERTEX(pci_dev) \
46         (((struct sn_device_sysdata *)((pci_dev)->sysdata))->vhdl)
47
48 #define PCIBUS_VERTEX(pci_bus) \
49         (((struct sn_widget_sysdata *)((pci_bus)->sysdata))->vhdl)
50
51 struct sn_widget_sysdata {
52         vertex_hdl_t  vhdl;
53 };
54
55 struct sn_device_sysdata {
56         vertex_hdl_t  vhdl;
57         int             isa64;
58         int             isPIC;
59         volatile unsigned int *dma_buf_sync;
60         volatile unsigned int *xbow_buf_sync;
61 };
62
63 struct sn_dma_maps_s{
64         struct pcibr_dmamap_s dma_map;
65         dma_addr_t      dma_addr;
66 };
67
68 struct ioports_to_tlbs_s {
69         unsigned long   p:1,
70                         rv_1:1,
71                         ma:3,
72                         a:1,
73                         d:1,
74                         pl:2,
75                         ar:3,
76                         ppn:38,
77                         rv_2:2,
78                         ed:1,
79                         ig:11;
80 };
81
82 #endif                          /* _ASM_SN_PCI_CVLINK_H */