diff options
Diffstat (limited to 'arch/arm/common/dmabounce.c')
| -rw-r--r-- | arch/arm/common/dmabounce.c | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/arch/arm/common/dmabounce.c b/arch/arm/common/dmabounce.c index 734ac9135998..5a375e5fef21 100644 --- a/arch/arm/common/dmabounce.c +++ b/arch/arm/common/dmabounce.c | |||
| @@ -342,6 +342,22 @@ dma_addr_t dma_map_single(struct device *dev, void *ptr, size_t size, | |||
| 342 | } | 342 | } |
| 343 | EXPORT_SYMBOL(dma_map_single); | 343 | EXPORT_SYMBOL(dma_map_single); |
| 344 | 344 | ||
| 345 | /* | ||
| 346 | * see if a mapped address was really a "safe" buffer and if so, copy | ||
| 347 | * the data from the safe buffer back to the unsafe buffer and free up | ||
| 348 | * the safe buffer. (basically return things back to the way they | ||
| 349 | * should be) | ||
| 350 | */ | ||
| 351 | void dma_unmap_single(struct device *dev, dma_addr_t dma_addr, size_t size, | ||
| 352 | enum dma_data_direction dir) | ||
| 353 | { | ||
| 354 | dev_dbg(dev, "%s(ptr=%p,size=%d,dir=%x)\n", | ||
| 355 | __func__, (void *) dma_addr, size, dir); | ||
| 356 | |||
| 357 | unmap_single(dev, dma_addr, size, dir); | ||
| 358 | } | ||
| 359 | EXPORT_SYMBOL(dma_unmap_single); | ||
| 360 | |||
| 345 | dma_addr_t dma_map_page(struct device *dev, struct page *page, | 361 | dma_addr_t dma_map_page(struct device *dev, struct page *page, |
| 346 | unsigned long offset, size_t size, enum dma_data_direction dir) | 362 | unsigned long offset, size_t size, enum dma_data_direction dir) |
| 347 | { | 363 | { |
| @@ -366,8 +382,7 @@ EXPORT_SYMBOL(dma_map_page); | |||
| 366 | * the safe buffer. (basically return things back to the way they | 382 | * the safe buffer. (basically return things back to the way they |
| 367 | * should be) | 383 | * should be) |
| 368 | */ | 384 | */ |
| 369 | 385 | void dma_unmap_page(struct device *dev, dma_addr_t dma_addr, size_t size, | |
| 370 | void dma_unmap_single(struct device *dev, dma_addr_t dma_addr, size_t size, | ||
| 371 | enum dma_data_direction dir) | 386 | enum dma_data_direction dir) |
| 372 | { | 387 | { |
| 373 | dev_dbg(dev, "%s(ptr=%p,size=%d,dir=%x)\n", | 388 | dev_dbg(dev, "%s(ptr=%p,size=%d,dir=%x)\n", |
| @@ -375,7 +390,7 @@ void dma_unmap_single(struct device *dev, dma_addr_t dma_addr, size_t size, | |||
| 375 | 390 | ||
| 376 | unmap_single(dev, dma_addr, size, dir); | 391 | unmap_single(dev, dma_addr, size, dir); |
| 377 | } | 392 | } |
| 378 | EXPORT_SYMBOL(dma_unmap_single); | 393 | EXPORT_SYMBOL(dma_unmap_page); |
| 379 | 394 | ||
| 380 | int dmabounce_sync_for_cpu(struct device *dev, dma_addr_t addr, | 395 | int dmabounce_sync_for_cpu(struct device *dev, dma_addr_t addr, |
| 381 | unsigned long off, size_t sz, enum dma_data_direction dir) | 396 | unsigned long off, size_t sz, enum dma_data_direction dir) |
