]>
Commit | Line | Data |
---|---|---|
e8635b48 DD |
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 | * | |
01a6221a | 6 | * Copyright (C) 2005-2009 Cavium Networks |
e8635b48 | 7 | */ |
01a6221a DD |
8 | |
9 | #ifndef __PCI_OCTEON_H__ | |
10 | #define __PCI_OCTEON_H__ | |
e8635b48 DD |
11 | |
12 | #include <linux/pci.h> | |
13 | ||
14 | /* Some PCI cards require delays when accessing config space. */ | |
15 | #define PCI_CONFIG_SPACE_DELAY 10000 | |
16 | ||
01a6221a DD |
17 | /* |
18 | * pcibios_map_irq() is defined inside pci-octeon.c. All it does is | |
19 | * call the Octeon specific version pointed to by this variable. This | |
20 | * function needs to change for PCI or PCIe based hosts. | |
21 | */ | |
22 | extern int (*octeon_pcibios_map_irq)(const struct pci_dev *dev, | |
23 | u8 slot, u8 pin); | |
e8635b48 | 24 | |
01a6221a DD |
25 | /* |
26 | * The following defines are used when octeon_dma_bar_type = | |
27 | * OCTEON_DMA_BAR_TYPE_BIG | |
28 | */ | |
e8635b48 DD |
29 | #define OCTEON_PCI_BAR1_HOLE_BITS 5 |
30 | #define OCTEON_PCI_BAR1_HOLE_SIZE (1ul<<(OCTEON_PCI_BAR1_HOLE_BITS+3)) | |
31 | ||
32 | enum octeon_dma_bar_type { | |
33 | OCTEON_DMA_BAR_TYPE_INVALID, | |
34 | OCTEON_DMA_BAR_TYPE_SMALL, | |
35 | OCTEON_DMA_BAR_TYPE_BIG, | |
36 | OCTEON_DMA_BAR_TYPE_PCIE | |
37 | }; | |
38 | ||
01a6221a DD |
39 | /* |
40 | * This tells the DMA mapping system in dma-octeon.c how to map PCI | |
41 | * DMA addresses. | |
e8635b48 DD |
42 | */ |
43 | extern enum octeon_dma_bar_type octeon_dma_bar_type; | |
44 | ||
45 | #endif |