diff options
-rw-r--r-- | arch/frv/mb93090-mb00/pci-dma-nommu.c | 23 | ||||
-rw-r--r-- | arch/frv/mb93090-mb00/pci-dma.c | 11 |
2 files changed, 29 insertions, 5 deletions
diff --git a/arch/frv/mb93090-mb00/pci-dma-nommu.c b/arch/frv/mb93090-mb00/pci-dma-nommu.c index 64ee58d748be..52ff9aec799d 100644 --- a/arch/frv/mb93090-mb00/pci-dma-nommu.c +++ b/arch/frv/mb93090-mb00/pci-dma-nommu.c | |||
@@ -111,7 +111,7 @@ EXPORT_SYMBOL(dma_free_coherent); | |||
111 | * The 32-bit bus address to use is returned. | 111 | * The 32-bit bus address to use is returned. |
112 | * | 112 | * |
113 | * Once the device is given the dma address, the device owns this memory | 113 | * Once the device is given the dma address, the device owns this memory |
114 | * until either pci_unmap_single or pci_dma_sync_single is performed. | 114 | * until either dma_unmap_single or pci_dma_sync_single is performed. |
115 | */ | 115 | */ |
116 | dma_addr_t dma_map_single(struct device *dev, void *ptr, size_t size, | 116 | dma_addr_t dma_map_single(struct device *dev, void *ptr, size_t size, |
117 | enum dma_data_direction direction) | 117 | enum dma_data_direction direction) |
@@ -129,7 +129,7 @@ EXPORT_SYMBOL(dma_map_single); | |||
129 | /* | 129 | /* |
130 | * Map a set of buffers described by scatterlist in streaming | 130 | * Map a set of buffers described by scatterlist in streaming |
131 | * mode for DMA. This is the scather-gather version of the | 131 | * mode for DMA. This is the scather-gather version of the |
132 | * above pci_map_single interface. Here the scatter gather list | 132 | * above dma_map_single interface. Here the scatter gather list |
133 | * elements are each tagged with the appropriate dma address | 133 | * elements are each tagged with the appropriate dma address |
134 | * and length. They are obtained via sg_dma_{address,length}(SG). | 134 | * and length. They are obtained via sg_dma_{address,length}(SG). |
135 | * | 135 | * |
@@ -139,7 +139,7 @@ EXPORT_SYMBOL(dma_map_single); | |||
139 | * The routine returns the number of addr/length pairs actually | 139 | * The routine returns the number of addr/length pairs actually |
140 | * used, at most nents. | 140 | * used, at most nents. |
141 | * | 141 | * |
142 | * Device ownership issues as mentioned above for pci_map_single are | 142 | * Device ownership issues as mentioned above for dma_map_single are |
143 | * the same here. | 143 | * the same here. |
144 | */ | 144 | */ |
145 | int dma_map_sg(struct device *dev, struct scatterlist *sg, int nents, | 145 | int dma_map_sg(struct device *dev, struct scatterlist *sg, int nents, |
@@ -158,3 +158,20 @@ int dma_map_sg(struct device *dev, struct scatterlist *sg, int nents, | |||
158 | } | 158 | } |
159 | 159 | ||
160 | EXPORT_SYMBOL(dma_map_sg); | 160 | EXPORT_SYMBOL(dma_map_sg); |
161 | |||
162 | /* | ||
163 | * Map a single page of the indicated size for DMA in streaming mode. | ||
164 | * The 32-bit bus address to use is returned. | ||
165 | * | ||
166 | * Device ownership issues as mentioned above for dma_map_single are | ||
167 | * the same here. | ||
168 | */ | ||
169 | dma_addr_t dma_map_page(struct device *dev, struct page *page, unsigned long offset, | ||
170 | size_t size, enum dma_data_direction direction) | ||
171 | { | ||
172 | BUG_ON(direction == DMA_NONE); | ||
173 | flush_dcache_page(page); | ||
174 | return (dma_addr_t) page_to_phys(page) + offset; | ||
175 | } | ||
176 | |||
177 | EXPORT_SYMBOL(dma_map_page); | ||
diff --git a/arch/frv/mb93090-mb00/pci-dma.c b/arch/frv/mb93090-mb00/pci-dma.c index 662f7b12d005..3ddedebc4eb3 100644 --- a/arch/frv/mb93090-mb00/pci-dma.c +++ b/arch/frv/mb93090-mb00/pci-dma.c | |||
@@ -61,7 +61,7 @@ EXPORT_SYMBOL(dma_map_single); | |||
61 | /* | 61 | /* |
62 | * Map a set of buffers described by scatterlist in streaming | 62 | * Map a set of buffers described by scatterlist in streaming |
63 | * mode for DMA. This is the scather-gather version of the | 63 | * mode for DMA. This is the scather-gather version of the |
64 | * above pci_map_single interface. Here the scatter gather list | 64 | * above dma_map_single interface. Here the scatter gather list |
65 | * elements are each tagged with the appropriate dma address | 65 | * elements are each tagged with the appropriate dma address |
66 | * and length. They are obtained via sg_dma_{address,length}(SG). | 66 | * and length. They are obtained via sg_dma_{address,length}(SG). |
67 | * | 67 | * |
@@ -71,7 +71,7 @@ EXPORT_SYMBOL(dma_map_single); | |||
71 | * The routine returns the number of addr/length pairs actually | 71 | * The routine returns the number of addr/length pairs actually |
72 | * used, at most nents. | 72 | * used, at most nents. |
73 | * | 73 | * |
74 | * Device ownership issues as mentioned above for pci_map_single are | 74 | * Device ownership issues as mentioned above for dma_map_single are |
75 | * the same here. | 75 | * the same here. |
76 | */ | 76 | */ |
77 | int dma_map_sg(struct device *dev, struct scatterlist *sg, int nents, | 77 | int dma_map_sg(struct device *dev, struct scatterlist *sg, int nents, |
@@ -105,6 +105,13 @@ int dma_map_sg(struct device *dev, struct scatterlist *sg, int nents, | |||
105 | 105 | ||
106 | EXPORT_SYMBOL(dma_map_sg); | 106 | EXPORT_SYMBOL(dma_map_sg); |
107 | 107 | ||
108 | /* | ||
109 | * Map a single page of the indicated size for DMA in streaming mode. | ||
110 | * The 32-bit bus address to use is returned. | ||
111 | * | ||
112 | * Device ownership issues as mentioned above for dma_map_single are | ||
113 | * the same here. | ||
114 | */ | ||
108 | dma_addr_t dma_map_page(struct device *dev, struct page *page, unsigned long offset, | 115 | dma_addr_t dma_map_page(struct device *dev, struct page *page, unsigned long offset, |
109 | size_t size, enum dma_data_direction direction) | 116 | size_t size, enum dma_data_direction direction) |
110 | { | 117 | { |