Commit 273bee27 authored by FUJITA Tomonori's avatar FUJITA Tomonori Committed by Ingo Molnar

x86: Fix iommu=soft boot option

iommu=soft boot option forces the kernel to use swiotlb.

( This has the side-effect of enabling the swiotlb over the
  GART if this boot option is provided. This is the desired
  behavior of the swiotlb boot option and works like that
  for all other hw-IOMMU drivers. )
Signed-off-by: default avatarFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: yinghai@kernel.org
LKML-Reference: <20091125084611O.fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent be831297
...@@ -50,6 +50,8 @@ static struct dma_map_ops swiotlb_dma_ops = { ...@@ -50,6 +50,8 @@ static struct dma_map_ops swiotlb_dma_ops = {
*/ */
int __init pci_swiotlb_init(void) int __init pci_swiotlb_init(void)
{ {
int use_swiotlb = swiotlb | swiotlb_force;
/* don't initialize swiotlb if iommu=off (no_iommu=1) */ /* don't initialize swiotlb if iommu=off (no_iommu=1) */
#ifdef CONFIG_X86_64 #ifdef CONFIG_X86_64
if (!no_iommu && max_pfn > MAX_DMA32_PFN) if (!no_iommu && max_pfn > MAX_DMA32_PFN)
...@@ -63,5 +65,5 @@ int __init pci_swiotlb_init(void) ...@@ -63,5 +65,5 @@ int __init pci_swiotlb_init(void)
dma_ops = &swiotlb_dma_ops; dma_ops = &swiotlb_dma_ops;
} }
return swiotlb_force; return use_swiotlb;
} }
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