aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/frv/mb93090-mb00/pci-dma-nommu.c23
-rw-r--r--arch/frv/mb93090-mb00/pci-dma.c11
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 */
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);
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 */
77int dma_map_sg(struct device *dev, struct scatterlist *sg, int nents, 77int 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
106EXPORT_SYMBOL(dma_map_sg); 106EXPORT_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 */
108dma_addr_t dma_map_page(struct device *dev, struct page *page, unsigned long offset, 115dma_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{