diff options
Diffstat (limited to 'include/asm-v850/pci.h')
-rw-r--r-- | include/asm-v850/pci.h | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/include/asm-v850/pci.h b/include/asm-v850/pci.h new file mode 100644 index 000000000000..e41941447b49 --- /dev/null +++ b/include/asm-v850/pci.h | |||
@@ -0,0 +1,88 @@ | |||
1 | /* | ||
2 | * include/asm-v850/pci.h -- PCI support | ||
3 | * | ||
4 | * Copyright (C) 2001,02 NEC Corporation | ||
5 | * Copyright (C) 2001,02 Miles Bader <miles@gnu.org> | ||
6 | * | ||
7 | * This file is subject to the terms and conditions of the GNU General | ||
8 | * Public License. See the file COPYING in the main directory of this | ||
9 | * archive for more details. | ||
10 | * | ||
11 | * Written by Miles Bader <miles@gnu.org> | ||
12 | */ | ||
13 | |||
14 | #ifndef __V850_PCI_H__ | ||
15 | #define __V850_PCI_H__ | ||
16 | |||
17 | /* Get any platform-dependent definitions. */ | ||
18 | #include <asm/machdep.h> | ||
19 | |||
20 | #define pcibios_scan_all_fns(a, b) 0 | ||
21 | |||
22 | /* Generic declarations. */ | ||
23 | |||
24 | struct scatterlist; | ||
25 | |||
26 | extern void pcibios_set_master (struct pci_dev *dev); | ||
27 | |||
28 | /* `Grant' to PDEV the memory block at CPU_ADDR, for doing DMA. The | ||
29 | 32-bit PCI bus mastering address to use is returned. the device owns | ||
30 | this memory until either pci_unmap_single or pci_dma_sync_single_for_cpu is | ||
31 | performed. */ | ||
32 | extern dma_addr_t | ||
33 | pci_map_single (struct pci_dev *pdev, void *cpu_addr, size_t size, int dir); | ||
34 | |||
35 | /* Return to the CPU the PCI DMA memory block previously `granted' to | ||
36 | PDEV, at DMA_ADDR. */ | ||
37 | extern void | ||
38 | pci_unmap_single (struct pci_dev *pdev, dma_addr_t dma_addr, size_t size, | ||
39 | int dir); | ||
40 | |||
41 | /* Make physical memory consistent for a single streaming mode DMA | ||
42 | translation after a transfer. | ||
43 | |||
44 | If you perform a pci_map_single() but wish to interrogate the | ||
45 | buffer using the cpu, yet do not wish to teardown the PCI dma | ||
46 | mapping, you must call this function before doing so. At the next | ||
47 | point you give the PCI dma address back to the card, you must first | ||
48 | perform a pci_dma_sync_for_device, and then the device again owns | ||
49 | the buffer. */ | ||
50 | extern void | ||
51 | pci_dma_sync_single_for_cpu (struct pci_dev *dev, dma_addr_t dma_addr, size_t size, | ||
52 | int dir); | ||
53 | |||
54 | extern void | ||
55 | pci_dma_sync_single_for_device (struct pci_dev *dev, dma_addr_t dma_addr, size_t size, | ||
56 | int dir); | ||
57 | |||
58 | |||
59 | /* Do multiple DMA mappings at once. */ | ||
60 | extern int | ||
61 | pci_map_sg (struct pci_dev *pdev, struct scatterlist *sg, int sg_len, int dir); | ||
62 | |||
63 | /* Unmap multiple DMA mappings at once. */ | ||
64 | extern void | ||
65 | pci_unmap_sg (struct pci_dev *pdev, struct scatterlist *sg, int sg_len, | ||
66 | int dir); | ||
67 | |||
68 | /* Allocate and map kernel buffer using consistent mode DMA for PCI | ||
69 | device. Returns non-NULL cpu-view pointer to the buffer if | ||
70 | successful and sets *DMA_ADDR to the pci side dma address as well, | ||
71 | else DMA_ADDR is undefined. */ | ||
72 | extern void * | ||
73 | pci_alloc_consistent (struct pci_dev *pdev, size_t size, dma_addr_t *dma_addr); | ||
74 | |||
75 | /* Free and unmap a consistent DMA buffer. CPU_ADDR and DMA_ADDR must | ||
76 | be values that were returned from pci_alloc_consistent. SIZE must be | ||
77 | the same as what as passed into pci_alloc_consistent. References to | ||
78 | the memory and mappings assosciated with CPU_ADDR or DMA_ADDR past | ||
79 | this call are illegal. */ | ||
80 | extern void | ||
81 | pci_free_consistent (struct pci_dev *pdev, size_t size, void *cpu_addr, | ||
82 | dma_addr_t dma_addr); | ||
83 | |||
84 | static inline void pcibios_add_platform_entries(struct pci_dev *dev) | ||
85 | { | ||
86 | } | ||
87 | |||
88 | #endif /* __V850_PCI_H__ */ | ||