Browse Source

Merge git://git.infradead.org/iommu-2.6

* git://git.infradead.org/iommu-2.6: (38 commits)
  intel-iommu: Don't keep freeing page zero in dma_pte_free_pagetable()
  intel-iommu: Introduce first_pte_in_page() to simplify PTE-setting loops
  intel-iommu: Use cmpxchg64_local() for setting PTEs
  intel-iommu: Warn about unmatched unmap requests
  intel-iommu: Kill superfluous mapping_lock
  intel-iommu: Ensure that PTE writes are 64-bit atomic, even on i386
  intel-iommu: Make iommu=pt work on i386 too
  intel-iommu: Performance improvement for dma_pte_free_pagetable()
  intel-iommu: Don't free too much in dma_pte_free_pagetable()
  intel-iommu: dump mappings but don't die on pte already set
  intel-iommu: Combine domain_pfn_mapping() and domain_sg_mapping()
  intel-iommu: Introduce domain_sg_mapping() to speed up intel_map_sg()
  intel-iommu: Simplify __intel_alloc_iova()
  intel-iommu: Performance improvement for domain_pfn_mapping()
  intel-iommu: Performance improvement for dma_pte_clear_range()
  intel-iommu: Clean up iommu_domain_identity_map()
  intel-iommu: Remove last use of PHYSICAL_PAGE_MASK, for reserving PCI BARs
  intel-iommu: Make iommu_flush_iotlb_psi() take pfn as argument
  intel-iommu: Change aligned_size() to aligned_nrpages()
  intel-iommu: Clean up intel_map_sg(), remove domain_page_mapping()
  ...
Linus Torvalds 16 years ago
parent
commit
405d7ca515
3 changed files with 326 additions and 316 deletions
  1. 2 13
      arch/x86/Kconfig
  2. 1 1
      arch/x86/kernel/pci-dma.c
  3. 323 302
      drivers/pci/intel-iommu.c

+ 2 - 13
arch/x86/Kconfig

@@ -1913,25 +1913,14 @@ config DMAR_DEFAULT_ON
 	  recommended you say N here while the DMAR code remains
 	  recommended you say N here while the DMAR code remains
 	  experimental.
 	  experimental.
 
 
-config DMAR_GFX_WA
-	def_bool y
-	prompt "Support for Graphics workaround"
-	depends on DMAR
-	---help---
-	  Current Graphics drivers tend to use physical address
-	  for DMA and avoid using DMA APIs. Setting this config
-	  option permits the IOMMU driver to set a unity map for
-	  all the OS-visible memory. Hence the driver can continue
-	  to use physical addresses for DMA.
-
 config DMAR_FLOPPY_WA
 config DMAR_FLOPPY_WA
 	def_bool y
 	def_bool y
 	depends on DMAR
 	depends on DMAR
 	---help---
 	---help---
-	  Floppy disk drivers are know to bypass DMA API calls
+	  Floppy disk drivers are known to bypass DMA API calls
 	  thereby failing to work when IOMMU is enabled. This
 	  thereby failing to work when IOMMU is enabled. This
 	  workaround will setup a 1:1 mapping for the first
 	  workaround will setup a 1:1 mapping for the first
-	  16M to make floppy (an ISA device) work.
+	  16MiB to make floppy (an ISA device) work.
 
 
 config INTR_REMAP
 config INTR_REMAP
 	bool "Support for Interrupt Remapping (EXPERIMENTAL)"
 	bool "Support for Interrupt Remapping (EXPERIMENTAL)"

+ 1 - 1
arch/x86/kernel/pci-dma.c

@@ -211,11 +211,11 @@ static __init int iommu_setup(char *p)
 #ifdef CONFIG_SWIOTLB
 #ifdef CONFIG_SWIOTLB
 		if (!strncmp(p, "soft", 4))
 		if (!strncmp(p, "soft", 4))
 			swiotlb = 1;
 			swiotlb = 1;
+#endif
 		if (!strncmp(p, "pt", 2)) {
 		if (!strncmp(p, "pt", 2)) {
 			iommu_pass_through = 1;
 			iommu_pass_through = 1;
 			return 1;
 			return 1;
 		}
 		}
-#endif
 
 
 		gart_parse_options(p);
 		gart_parse_options(p);
 
 

File diff suppressed because it is too large
+ 323 - 302
drivers/pci/intel-iommu.c


Some files were not shown because too many files changed in this diff