diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-10-15 01:23:49 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-10-15 01:23:49 -0400 |
commit | 23971bdffff5f7c904131dfb41c186711dc2c418 (patch) | |
tree | 0cd5e379932a72af47dba17f8958908e7dd029cd /virt | |
parent | c0fa2373f8cfed90437d8d7b17e0b1a84009a10a (diff) | |
parent | 09b5269a1b3d47525d7c25efeb16f5407ef82ea2 (diff) |
Merge tag 'iommu-updates-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu
Pull IOMMU updates from Joerg Roedel:
"This pull-request includes:
- change in the IOMMU-API to convert the former iommu_domain_capable
function to just iommu_capable
- various fixes in handling RMRR ranges for the VT-d driver (one fix
requires a device driver core change which was acked by Greg KH)
- the AMD IOMMU driver now assigns and deassigns complete alias
groups to fix issues with devices using the wrong PCI request-id
- MMU-401 support for the ARM SMMU driver
- multi-master IOMMU group support for the ARM SMMU driver
- various other small fixes all over the place"
* tag 'iommu-updates-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (41 commits)
iommu/vt-d: Work around broken RMRR firmware entries
iommu/vt-d: Store bus information in RMRR PCI device path
iommu/vt-d: Only remove domain when device is removed
driver core: Add BUS_NOTIFY_REMOVED_DEVICE event
iommu/amd: Fix devid mapping for ivrs_ioapic override
iommu/irq_remapping: Fix the regression of hpet irq remapping
iommu: Fix bus notifier breakage
iommu/amd: Split init_iommu_group() from iommu_init_device()
iommu: Rework iommu_group_get_for_pci_dev()
iommu: Make of_device_id array const
amd_iommu: do not dereference a NULL pointer address.
iommu/omap: Remove omap_iommu unused owner field
iommu: Remove iommu_domain_has_cap() API function
IB/usnic: Convert to use new iommu_capable() API function
vfio: Convert to use new iommu_capable() API function
kvm: iommu: Convert to use new iommu_capable() API function
iommu/tegra: Convert to iommu_capable() API function
iommu/msm: Convert to iommu_capable() API function
iommu/vt-d: Convert to iommu_capable() API function
iommu/fsl: Convert to iommu_capable() API function
...
Diffstat (limited to 'virt')
-rw-r--r-- | virt/kvm/iommu.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/virt/kvm/iommu.c b/virt/kvm/iommu.c index e723bb91aa34..e51d9f9b995f 100644 --- a/virt/kvm/iommu.c +++ b/virt/kvm/iommu.c | |||
@@ -191,8 +191,7 @@ int kvm_assign_device(struct kvm *kvm, | |||
191 | return r; | 191 | return r; |
192 | } | 192 | } |
193 | 193 | ||
194 | noncoherent = !iommu_domain_has_cap(kvm->arch.iommu_domain, | 194 | noncoherent = !iommu_capable(&pci_bus_type, IOMMU_CAP_CACHE_COHERENCY); |
195 | IOMMU_CAP_CACHE_COHERENCY); | ||
196 | 195 | ||
197 | /* Check if need to update IOMMU page table for guest memory */ | 196 | /* Check if need to update IOMMU page table for guest memory */ |
198 | if (noncoherent != kvm->arch.iommu_noncoherent) { | 197 | if (noncoherent != kvm->arch.iommu_noncoherent) { |
@@ -254,8 +253,7 @@ int kvm_iommu_map_guest(struct kvm *kvm) | |||
254 | } | 253 | } |
255 | 254 | ||
256 | if (!allow_unsafe_assigned_interrupts && | 255 | if (!allow_unsafe_assigned_interrupts && |
257 | !iommu_domain_has_cap(kvm->arch.iommu_domain, | 256 | !iommu_capable(&pci_bus_type, IOMMU_CAP_INTR_REMAP)) { |
258 | IOMMU_CAP_INTR_REMAP)) { | ||
259 | printk(KERN_WARNING "%s: No interrupt remapping support," | 257 | printk(KERN_WARNING "%s: No interrupt remapping support," |
260 | " disallowing device assignment." | 258 | " disallowing device assignment." |
261 | " Re-enble with \"allow_unsafe_assigned_interrupts=1\"" | 259 | " Re-enble with \"allow_unsafe_assigned_interrupts=1\"" |