]> Git Repo - linux.git/commitdiff
Merge tag 'iommu-updates-v3.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git...
authorLinus Torvalds <[email protected]>
Sun, 7 Oct 2012 21:33:44 +0000 (06:33 +0900)
committerLinus Torvalds <[email protected]>
Sun, 7 Oct 2012 21:33:44 +0000 (06:33 +0900)
Pull IOMMU updates from Joerg Roedel:
 "This time the IOMMU updates contain a bunch of fixes and cleanups to
  various IOMMU drivers and the DMA debug code.  New features are the
  code for IRQ remapping support with the AMD IOMMU (preperation for
  that was already merged in the last release) and a debugfs interface
  to export some statistics in the NVidia Tegra IOMMU driver."

* tag 'iommu-updates-v3.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (27 commits)
  iommu/amd: Remove obsolete comment line
  dma-debug: Remove local BUS_NOTIFY_UNBOUND_DRIVER define
  iommu/amd: Fix possible use after free in get_irq_table()
  iommu/amd: Report irq remapping through IOMMU-API
  iommu/amd: Print message to system log when irq remapping is enabled
  iommu/irq: Use amd_iommu_irq_ops if supported
  iommu/amd: Make sure irq remapping still works on dma init failure
  iommu/amd: Add initialization routines for AMD interrupt remapping
  iommu/amd: Add call-back routine for HPET MSI
  iommu/amd: Implement MSI routines for interrupt remapping
  iommu/amd: Add IOAPIC remapping routines
  iommu/amd: Add routines to manage irq remapping tables
  iommu/amd: Add IRTE invalidation routine
  iommu/amd: Make sure IOMMU is not considered to translate itself
  iommu/amd: Split device table initialization into irq and dma part
  iommu/amd: Check if IOAPIC information is correct
  iommu/amd: Allocate data structures to keep track of irq remapping tables
  iommu/amd: Add slab-cache for irq remapping tables
  iommu/amd: Keep track of HPET and IOAPIC device ids
  iommu/amd: Fix features reporting
  ...

1  2 
drivers/iommu/intel-iommu.c

index db820d7dd0bc0a4d2f9af28f50b74ae638ebd1c3,cb9e1146b02fe3f897c4ac93da5a084190c0f415..d4a4cd445cabb40504bd2a1c7d5300656feceaff
@@@ -589,7 -589,9 +589,9 @@@ static void domain_update_iommu_coheren
  {
        int i;
  
-       domain->iommu_coherency = 1;
+       i = find_first_bit(domain->iommu_bmp, g_num_of_iommus);
+       domain->iommu_coherency = i < g_num_of_iommus ? 1 : 0;
  
        for_each_set_bit(i, domain->iommu_bmp, g_num_of_iommus) {
                if (!ecap_coherent(g_iommus[i]->ecap)) {
@@@ -2351,7 -2353,7 +2353,7 @@@ static int iommu_should_identity_map(st
                        return 0;
                if (pdev->class >> 8 == PCI_CLASS_BRIDGE_PCI)
                        return 0;
 -      } else if (pdev->pcie_type == PCI_EXP_TYPE_PCI_BRIDGE)
 +      } else if (pci_pcie_type(pdev) == PCI_EXP_TYPE_PCI_BRIDGE)
                return 0;
  
        /* 
@@@ -3546,10 -3548,10 +3548,10 @@@ found
                struct pci_dev *bridge = bus->self;
  
                if (!bridge || !pci_is_pcie(bridge) ||
 -                  bridge->pcie_type == PCI_EXP_TYPE_PCI_BRIDGE)
 +                  pci_pcie_type(bridge) == PCI_EXP_TYPE_PCI_BRIDGE)
                        return 0;
  
 -              if (bridge->pcie_type == PCI_EXP_TYPE_ROOT_PORT) {
 +              if (pci_pcie_type(bridge) == PCI_EXP_TYPE_ROOT_PORT) {
                        for (i = 0; i < atsru->devices_cnt; i++)
                                if (atsru->devices[i] == bridge)
                                        return 1;
This page took 0.073186 seconds and 4 git commands to generate.