2008-03-04 09:34:27

by Yang Shi

[permalink] [raw]
Subject: [PATCH] Fix DMA access of block device in 64-bit kernel on some non-x86 systems with 4GB or upper 4GB memory

For some non-x86 systems with 4GB or upper 4GB memory,
we need increase the range of addresses that can be
used for direct DMA in 64-bit kernel.

Signed-off-by: Yang Shi <[email protected]>
---
b/block/blk-settings.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
---

--- a/block/blk-settings.c 2008-03-03 17:11:25.000000000 +0800
+++ b/block/blk-settings.c 2008-03-03 17:11:42.000000000 +0800
@@ -140,7 +140,7 @@ void blk_queue_bounce_limit(struct reque
/* Assume anything <= 4GB can be handled by IOMMU.
Actually some IOMMUs can handle everything, but I don't
know of a way to test this here. */
- if (b_pfn < (min_t(u64, 0xffffffff, BLK_BOUNCE_HIGH) >>
PAGE_SHIFT))
+ if (b_pfn <= (min_t(u64, 0xffffffff, BLK_BOUNCE_HIGH) >>
PAGE_SHIFT))
dma = 1;
q->bounce_pfn = max_low_pfn;
#else


2008-03-04 10:15:03

by Jens Axboe

[permalink] [raw]
Subject: Re: [PATCH] Fix DMA access of block device in 64-bit kernel on some non-x86 systems with 4GB or upper 4GB memory

On Tue, Mar 04 2008, yshi wrote:
> For some non-x86 systems with 4GB or upper 4GB memory,
> we need increase the range of addresses that can be
> used for direct DMA in 64-bit kernel.

Looks good, applied.

--
Jens Axboe