Skip to contentSkip to conversation

Fix DMA access of block device in 64-bit kernel on some non-x86 systems with 4GB or upper 4GB memory

PATCH In review yshi 2 participants 2 messages Mar 4, 2008 Block layer

lore
Share & tools
lore

yshi

author
#0 lore raw

PATCH 1/1 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.

---
b/block/blk-settings.c | 2 +-

1 file changed, 1 insertion(+), 1 deletion(-)

---

block/blk-settings.c 2008-03-03 17:11:42.000000000 +0800 renamed from block/blk-settings.c 2008-03-03 17:11:25.000000000 +0800 +1 -1
@@ -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

#1 lore raw
Quoted 3 lines · yshi

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.

Signature · 1 line
Jens Axboe