Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'iommu-fixes-v3.9-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu

Pull IOMMU fixes from Joerg Roedel:
"Here are some fixes which have collected since Linux v3.9-rc1.

The most important one fixes a long-standing regressen which make
re-hotplugged devices unusable when AMD IOMMU is used.

The other patches fix build issues (build regression on OMAP and a
section mismatch). One patch just removes a duplicate header include."

* tag 'iommu-fixes-v3.9-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
iommu/amd: Make sure dma_ops are set for hotplug devices
x86, io_apic: remove duplicated include from irq_remapping.c
iommu: OMAP: build only on OMAP2+
amd_iommu_init: remove __init from amd_iommu_erratum_746_workaround

+11 -14
+1 -1
drivers/iommu/Kconfig
··· 130 130 # OMAP IOMMU support 131 131 config OMAP_IOMMU 132 132 bool "OMAP IOMMU Support" 133 - depends on ARCH_OMAP 133 + depends on ARCH_OMAP2PLUS 134 134 select IOMMU_API 135 135 136 136 config OMAP_IOVMM
+9 -11
drivers/iommu/amd_iommu.c
··· 2466 2466 2467 2467 /* allocate a protection domain if a device is added */ 2468 2468 dma_domain = find_protection_domain(devid); 2469 - if (dma_domain) 2470 - goto out; 2471 - dma_domain = dma_ops_domain_alloc(); 2472 - if (!dma_domain) 2473 - goto out; 2474 - dma_domain->target_dev = devid; 2469 + if (!dma_domain) { 2470 + dma_domain = dma_ops_domain_alloc(); 2471 + if (!dma_domain) 2472 + goto out; 2473 + dma_domain->target_dev = devid; 2475 2474 2476 - spin_lock_irqsave(&iommu_pd_list_lock, flags); 2477 - list_add_tail(&dma_domain->list, &iommu_pd_list); 2478 - spin_unlock_irqrestore(&iommu_pd_list_lock, flags); 2479 - 2480 - dev_data = get_dev_data(dev); 2475 + spin_lock_irqsave(&iommu_pd_list_lock, flags); 2476 + list_add_tail(&dma_domain->list, &iommu_pd_list); 2477 + spin_unlock_irqrestore(&iommu_pd_list_lock, flags); 2478 + } 2481 2479 2482 2480 dev->archdata.dma_ops = &amd_iommu_dma_ops; 2483 2481
+1 -1
drivers/iommu/amd_iommu_init.c
··· 980 980 * BIOS should disable L2B micellaneous clock gating by setting 981 981 * L2_L2B_CK_GATE_CONTROL[CKGateL2BMiscDisable](D0F2xF4_x90[2]) = 1b 982 982 */ 983 - static void __init amd_iommu_erratum_746_workaround(struct amd_iommu *iommu) 983 + static void amd_iommu_erratum_746_workaround(struct amd_iommu *iommu) 984 984 { 985 985 u32 value; 986 986
-1
drivers/iommu/irq_remapping.c
··· 2 2 #include <linux/cpumask.h> 3 3 #include <linux/kernel.h> 4 4 #include <linux/string.h> 5 - #include <linux/cpumask.h> 6 5 #include <linux/errno.h> 7 6 #include <linux/msi.h> 8 7 #include <linux/irq.h>