aboutsummaryrefslogtreecommitdiffstats
path: root/arch/frv/mb93090-mb00/pci-dma-nommu.c
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2008-10-15 11:50:53 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-10-16 18:06:54 -0400
commitc9af956cf7548bc352557eb8356913e489fd8716 (patch)
tree57b06fb473014e621d678687da2b9dfd0d92a43d /arch/frv/mb93090-mb00/pci-dma-nommu.c
parent9bd8f9c638c51313328d664a2f7a5e413cfd9044 (diff)
FRV: Provide dma_map_page() for NOMMU and fix comments
Provide dma_map_page() for the NOMMU-mode FRV arch. Also do some fixing on the comments attached to the various DMA functions for both MMU and NOMMU mode FRV code. Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/frv/mb93090-mb00/pci-dma-nommu.c')
-rw-r--r--arch/frv/mb93090-mb00/pci-dma-nommu.c23
1 files changed, 20 insertions, 3 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 */
116dma_addr_t dma_map_single(struct device *dev, void *ptr, size_t size, 116dma_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 */
145int dma_map_sg(struct device *dev, struct scatterlist *sg, int nents, 145int 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
160EXPORT_SYMBOL(dma_map_sg); 160EXPORT_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 */
169dma_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
177EXPORT_SYMBOL(dma_map_page);