Commit c9af956c authored by David Howells's avatar David Howells Committed by Linus Torvalds

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: default avatarDavid Howells <dhowells@redhat.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 9bd8f9c6
...@@ -111,7 +111,7 @@ EXPORT_SYMBOL(dma_free_coherent); ...@@ -111,7 +111,7 @@ EXPORT_SYMBOL(dma_free_coherent);
* The 32-bit bus address to use is returned. * The 32-bit bus address to use is returned.
* *
* Once the device is given the dma address, the device owns this memory * Once the device is given the dma address, the device owns this memory
* until either pci_unmap_single or pci_dma_sync_single is performed. * until either dma_unmap_single or pci_dma_sync_single is performed.
*/ */
dma_addr_t dma_map_single(struct device *dev, void *ptr, size_t size, dma_addr_t dma_map_single(struct device *dev, void *ptr, size_t size,
enum dma_data_direction direction) enum dma_data_direction direction)
...@@ -129,7 +129,7 @@ EXPORT_SYMBOL(dma_map_single); ...@@ -129,7 +129,7 @@ EXPORT_SYMBOL(dma_map_single);
/* /*
* Map a set of buffers described by scatterlist in streaming * Map a set of buffers described by scatterlist in streaming
* mode for DMA. This is the scather-gather version of the * mode for DMA. This is the scather-gather version of the
* above pci_map_single interface. Here the scatter gather list * above dma_map_single interface. Here the scatter gather list
* elements are each tagged with the appropriate dma address * elements are each tagged with the appropriate dma address
* and length. They are obtained via sg_dma_{address,length}(SG). * and length. They are obtained via sg_dma_{address,length}(SG).
* *
...@@ -139,7 +139,7 @@ EXPORT_SYMBOL(dma_map_single); ...@@ -139,7 +139,7 @@ EXPORT_SYMBOL(dma_map_single);
* The routine returns the number of addr/length pairs actually * The routine returns the number of addr/length pairs actually
* used, at most nents. * used, at most nents.
* *
* Device ownership issues as mentioned above for pci_map_single are * Device ownership issues as mentioned above for dma_map_single are
* the same here. * the same here.
*/ */
int dma_map_sg(struct device *dev, struct scatterlist *sg, int nents, 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,3 +158,20 @@ int dma_map_sg(struct device *dev, struct scatterlist *sg, int nents,
} }
EXPORT_SYMBOL(dma_map_sg); EXPORT_SYMBOL(dma_map_sg);
/*
* Map a single page of the indicated size for DMA in streaming mode.
* The 32-bit bus address to use is returned.
*
* Device ownership issues as mentioned above for dma_map_single are
* the same here.
*/
dma_addr_t dma_map_page(struct device *dev, struct page *page, unsigned long offset,
size_t size, enum dma_data_direction direction)
{
BUG_ON(direction == DMA_NONE);
flush_dcache_page(page);
return (dma_addr_t) page_to_phys(page) + offset;
}
EXPORT_SYMBOL(dma_map_page);
...@@ -61,7 +61,7 @@ EXPORT_SYMBOL(dma_map_single); ...@@ -61,7 +61,7 @@ EXPORT_SYMBOL(dma_map_single);
/* /*
* Map a set of buffers described by scatterlist in streaming * Map a set of buffers described by scatterlist in streaming
* mode for DMA. This is the scather-gather version of the * mode for DMA. This is the scather-gather version of the
* above pci_map_single interface. Here the scatter gather list * above dma_map_single interface. Here the scatter gather list
* elements are each tagged with the appropriate dma address * elements are each tagged with the appropriate dma address
* and length. They are obtained via sg_dma_{address,length}(SG). * and length. They are obtained via sg_dma_{address,length}(SG).
* *
...@@ -71,7 +71,7 @@ EXPORT_SYMBOL(dma_map_single); ...@@ -71,7 +71,7 @@ EXPORT_SYMBOL(dma_map_single);
* The routine returns the number of addr/length pairs actually * The routine returns the number of addr/length pairs actually
* used, at most nents. * used, at most nents.
* *
* Device ownership issues as mentioned above for pci_map_single are * Device ownership issues as mentioned above for dma_map_single are
* the same here. * the same here.
*/ */
int dma_map_sg(struct device *dev, struct scatterlist *sg, int nents, 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,6 +105,13 @@ int dma_map_sg(struct device *dev, struct scatterlist *sg, int nents,
EXPORT_SYMBOL(dma_map_sg); EXPORT_SYMBOL(dma_map_sg);
/*
* Map a single page of the indicated size for DMA in streaming mode.
* The 32-bit bus address to use is returned.
*
* Device ownership issues as mentioned above for dma_map_single are
* the same here.
*/
dma_addr_t dma_map_page(struct device *dev, struct page *page, unsigned long offset, dma_addr_t dma_map_page(struct device *dev, struct page *page, unsigned long offset,
size_t size, enum dma_data_direction direction) size_t size, enum dma_data_direction direction)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment