Commit f4780ca0 authored by FUJITA Tomonori's avatar FUJITA Tomonori Committed by Ingo Molnar

x86: Move swiotlb initialization before dma32_free_bootmem

The commit 75f1cdf1 introduced a
bug that we initialize SWIOTLB right after dma32_free_bootmem so
we wrongly steal memory area allocated for GART with broken BIOS
earlier.

This moves swiotlb initialization before dma32_free_bootmem().
Signed-off-by: default avatarFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: yinghai@kernel.org
LKML-Reference: <1260759135-6450-2-git-send-email-fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent eba11d6d
...@@ -120,11 +120,14 @@ static void __init dma32_free_bootmem(void) ...@@ -120,11 +120,14 @@ static void __init dma32_free_bootmem(void)
void __init pci_iommu_alloc(void) void __init pci_iommu_alloc(void)
{ {
int use_swiotlb;
use_swiotlb = pci_swiotlb_init();
#ifdef CONFIG_X86_64 #ifdef CONFIG_X86_64
/* free the range so iommu could get some range less than 4G */ /* free the range so iommu could get some range less than 4G */
dma32_free_bootmem(); dma32_free_bootmem();
#endif #endif
if (pci_swiotlb_init()) if (use_swiotlb)
return; return;
gart_iommu_hole_init(); gart_iommu_hole_init();
......
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