Messages in this thread Patch in this message | | | Subject | [PATCH 7/8] block: convert block/rd.c to use blk_kmap helpers | Date | Sat, 14 Jan 2006 00:24:17 +0900 | From | Tejun Heo <> |
| |
Convert block/rd.c to use blk_kmap/unmap helpers. rd already had all needed cache flushes, so this patch doesn't change its functionality.
Signed-off-by: Tejun Heo <htejun@gmail.com>
---
drivers/block/rd.c | 19 +++++++++++-------- 1 files changed, 11 insertions(+), 8 deletions(-)
f09db99a6eb5be8a6a793c3a73e1457bfa61c928 diff --git a/drivers/block/rd.c b/drivers/block/rd.c index ffd6abd..d0ff693 100644 --- a/drivers/block/rd.c +++ b/drivers/block/rd.c @@ -232,9 +232,11 @@ static int rd_blkdev_pagecache_IO(int rw if (rw == READ) { src = kmap_atomic(page, KM_USER0) + offset; - dst = kmap_atomic(vec->bv_page, KM_USER1) + vec_offset; + dst = blk_kmap_atomic(vec->bv_page, KM_USER1, + DMA_FROM_DEVICE) + vec_offset; } else { - src = kmap_atomic(vec->bv_page, KM_USER0) + vec_offset; + src = blk_kmap_atomic(vec->bv_page, KM_USER0, + DMA_TO_DEVICE) + vec_offset; dst = kmap_atomic(page, KM_USER1) + offset; } offset = 0; @@ -242,13 +244,14 @@ static int rd_blkdev_pagecache_IO(int rw memcpy(dst, src, count); - kunmap_atomic(src, KM_USER0); - kunmap_atomic(dst, KM_USER1); - - if (rw == READ) - flush_dcache_page(vec->bv_page); - else + if (rw == READ) { + kunmap_atomic(src, KM_USER0); + blk_kunmap_atomic(dst, KM_USER1, DMA_FROM_DEVICE); + } else { + blk_kunmap_atomic(src, KM_USER0, DMA_TO_DEVICE); + kunmap_atomic(dst, KM_USER1); set_page_dirty(page); + } unlock_page(page); put_page(page); } while (size); -- 1.0.6
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |