aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-ia64/sn/pcibus_provider_defs.h
diff options
context:
space:
mode:
authorMark Maule <maule@sgi.com>2005-04-25 14:32:16 -0400
committerTony Luck <tony.luck@intel.com>2005-04-25 14:32:16 -0400
commit9b08ebd167a3f3812131a54512f92c3c6738ad03 (patch)
tree759d4a02d44d233eb7de4dba4fe4626d5d6d29ac /include/asm-ia64/sn/pcibus_provider_defs.h
parente955d82543fea76b02aa243b182e782f71bda82c (diff)
[IA64-SGI] sn2-move-pci-headers.patch
Move a couple of headers out of arch/ia64/sn/include/pci and into include/asm-ia64/sn. Signed-off-by: Mark Maule <maule@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'include/asm-ia64/sn/pcibus_provider_defs.h')
-rw-r--r--include/asm-ia64/sn/pcibus_provider_defs.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/include/asm-ia64/sn/pcibus_provider_defs.h b/include/asm-ia64/sn/pcibus_provider_defs.h
new file mode 100644
index 000000000000..f546b4ece33c
--- /dev/null
+++ b/include/asm-ia64/sn/pcibus_provider_defs.h
@@ -0,0 +1,51 @@
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-2004 Silicon Graphics, Inc. All rights reserved.
7 */
8#ifndef _ASM_IA64_SN_PCI_PCIBUS_PROVIDER_H
9#define _ASM_IA64_SN_PCI_PCIBUS_PROVIDER_H
10
11/*
12 * SN pci asic types. Do not ever renumber these or reuse values. The
13 * values must agree with what prom thinks they are.
14 */
15
16#define PCIIO_ASIC_TYPE_UNKNOWN 0
17#define PCIIO_ASIC_TYPE_PPB 1
18#define PCIIO_ASIC_TYPE_PIC 2
19#define PCIIO_ASIC_TYPE_TIOCP 3
20
21#define PCIIO_ASIC_MAX_TYPES 4
22
23/*
24 * Common pciio bus provider data. There should be one of these as the
25 * first field in any pciio based provider soft structure (e.g. pcibr_soft
26 * tioca_soft, etc).
27 */
28
29struct pcibus_bussoft {
30 uint32_t bs_asic_type; /* chipset type */
31 uint32_t bs_xid; /* xwidget id */
32 uint64_t bs_persist_busnum; /* Persistent Bus Number */
33 uint64_t bs_legacy_io; /* legacy io pio addr */
34 uint64_t bs_legacy_mem; /* legacy mem pio addr */
35 uint64_t bs_base; /* widget base */
36 struct xwidget_info *bs_xwidget_info;
37};
38
39/*
40 * SN pci bus indirection
41 */
42
43struct sn_pcibus_provider {
44 dma_addr_t (*dma_map)(struct pci_dev *, unsigned long, size_t);
45 dma_addr_t (*dma_map_consistent)(struct pci_dev *, unsigned long, size_t);
46 void (*dma_unmap)(struct pci_dev *, dma_addr_t, int);
47 void * (*bus_fixup)(struct pcibus_bussoft *);
48};
49
50extern struct sn_pcibus_provider *sn_pci_provider[];
51#endif /* _ASM_IA64_SN_PCI_PCIBUS_PROVIDER_H */