08 Oct, 2012

1 commit

  • 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
    ...

    Linus Torvalds
     

02 Oct, 2012

4 commits

  • … 'x86/vt-d' and 'x86/amd-irq-remapping' into next

    Conflicts:
    drivers/iommu/amd_iommu_init.c

    Joerg Roedel
     
  • IRQ_DELAYED_DISABLE does not exist anymore. So this comment
    is obsolete.

    Signed-off-by: Joerg Roedel

    Joerg Roedel
     
  • We should return NULL on error instead of the freed pointer.

    Signed-off-by: Dan Carpenter
    Signed-off-by: Joerg Roedel

    Dan Carpenter
     
  • Pull PCI changes from Bjorn Helgaas:
    "Host bridge hotplug
    - Protect acpi_pci_drivers and acpi_pci_roots (Taku Izumi)
    - Clear host bridge resource info to avoid issue when releasing
    (Yinghai Lu)
    - Notify acpi_pci_drivers when hot-plugging host bridges (Jiang Liu)
    - Use standard list ops for acpi_pci_drivers (Jiang Liu)

    Device hotplug
    - Use pci_get_domain_bus_and_slot() to close hotplug races (Jiang
    Liu)
    - Remove fakephp driver (Bjorn Helgaas)
    - Fix VGA ref count in hotplug remove path (Yinghai Lu)
    - Allow acpiphp to handle PCIe ports without native hotplug (Jiang
    Liu)
    - Implement resume regardless of pciehp_force param (Oliver Neukum)
    - Make pci_fixup_irqs() work after init (Thierry Reding)

    Miscellaneous
    - Add pci_pcie_type(dev) and remove pci_dev.pcie_type (Yijing Wang)
    - Factor out PCI Express Capability accessors (Jiang Liu)
    - Add pcibios_window_alignment() so powerpc EEH can use generic
    resource assignment (Gavin Shan)
    - Make pci_error_handlers const (Stephen Hemminger)
    - Cleanup drivers/pci/remove.c (Bjorn Helgaas)
    - Improve Vendor-Specific Extended Capability support (Bjorn
    Helgaas)
    - Use standard list ops for bus->devices (Bjorn Helgaas)
    - Avoid kmalloc in pci_get_subsys() and pci_get_class() (Feng Tang)
    - Reassign invalid bus number ranges (Intel DP43BF workaround)
    (Yinghai Lu)"

    * tag 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (102 commits)
    PCI: acpiphp: Handle PCIe ports without native hotplug capability
    PCI/ACPI: Use acpi_driver_data() rather than searching acpi_pci_roots
    PCI/ACPI: Protect acpi_pci_roots list with mutex
    PCI/ACPI: Use acpi_pci_root info rather than looking it up again
    PCI/ACPI: Pass acpi_pci_root to acpi_pci_drivers' add/remove interface
    PCI/ACPI: Protect acpi_pci_drivers list with mutex
    PCI/ACPI: Notify acpi_pci_drivers when hot-plugging PCI root bridges
    PCI/ACPI: Use normal list for struct acpi_pci_driver
    PCI/ACPI: Use DEVICE_ACPI_HANDLE rather than searching acpi_pci_roots
    PCI: Fix default vga ref_count
    ia64/PCI: Clear host bridge aperture struct resource
    x86/PCI: Clear host bridge aperture struct resource
    PCI: Stop all children first, before removing all children
    Revert "PCI: Use hotplug-safe pci_get_domain_bus_and_slot()"
    PCI: Provide a default pcibios_update_irq()
    PCI: Discard __init annotations for pci_fixup_irqs() and related functions
    PCI: Use correct type when freeing bus resource list
    PCI: Check P2P bridge for invalid secondary/subordinate range
    PCI: Convert "new_id"/"remove_id" into generic pci_bus driver attributes
    xen-pcifront: Use hotplug-safe pci_get_domain_bus_and_slot()
    ...

    Linus Torvalds
     

28 Sep, 2012

18 commits


18 Sep, 2012

6 commits

  • domain_update_iommu_coherency() currently defaults to setting domains
    as coherent when the domain is not attached to any iommus. This
    allows for a window in domain_context_mapping_one() where such a
    domain can update context entries non-coherently, and only after
    update the domain capability to clear iommu_coherency.

    This can be seen using KVM device assignment on VT-d systems that
    do not support coherency in the ecap register. When a device is
    added to a guest, a domain is created (iommu_coherency = 0), the
    device is attached, and ranges are mapped. If we then hot unplug
    the device, the coherency is updated and set to the default (1)
    since no iommus are attached to the domain. A subsequent attach
    of a device makes use of the same dmar domain (now marked coherent)
    updates context entries with coherency enabled, and only disables
    coherency as the last step in the process.

    To fix this, switch domain_update_iommu_coherency() to use the
    safer, non-coherent default for domains not attached to iommus.

    Signed-off-by: Alex Williamson
    Tested-by: Donald Dutile
    Acked-by: Donald Dutile
    Acked-by: Chris Wright
    Cc: stable@vger.kernel.org
    Signed-off-by: Joerg Roedel

    Alex Williamson
     
  • Using list_del_init() instead of list_del() + INIT_LIST_HEAD().

    spatch with a semantic match is used to found this problem.
    (http://coccinelle.lip6.fr/)

    Signed-off-by: Wei Yongjun
    Signed-off-by: Joerg Roedel

    Wei Yongjun
     
  • There's no need to place these defines into arch/arm/mach-tegra/include/.
    Move them into the SMMU driver to clean up mach-tegra, as a pre-requisite
    for single-zImage.

    Signed-off-by: Stephen Warren
    Cc: Hiroshi Doyu
    Acked-by: Hiroshi Doyu
    Signed-off-by: Joerg Roedel

    Stephen Warren
     
  • The commit c3b1a35 "debugfs: make sure that debugfs_create_file() gets
    used only for regulars" doesn't allow to use debugfs_create_file() for
    dir. Keep debugfs data in smmu_device instead of directory's i_private.

    Signed-off-by: Hiroshi Doyu
    Signed-off-by: Stephen Warren
    Signed-off-by: Joerg Roedel

    Hiroshi Doyu
     
  • Fix some typos in comments and user-visible messages. No
    functional changes.

    Signed-off-by: Frank Arnold
    Signed-off-by: Joerg Roedel

    Frank Arnold
     
  • Remove duplicated include.

    Signed-off-by: Wei Yongjun
    Signed-off-by: Joerg Roedel

    Wei Yongjun
     

13 Sep, 2012

1 commit

  • * commit 'v3.6-rc5': (1098 commits)
    Linux 3.6-rc5
    HID: tpkbd: work even if the new Lenovo Keyboard driver is not configured
    Remove user-triggerable BUG from mpol_to_str
    xen/pciback: Fix proper FLR steps.
    uml: fix compile error in deliver_alarm()
    dj: memory scribble in logi_dj
    Fix order of arguments to compat_put_time[spec|val]
    xen: Use correct masking in xen_swiotlb_alloc_coherent.
    xen: fix logical error in tlb flushing
    xen/p2m: Fix one-off error in checking the P2M tree directory.
    powerpc: Don't use __put_user() in patch_instruction
    powerpc: Make sure IPI handlers see data written by IPI senders
    powerpc: Restore correct DSCR in context switch
    powerpc: Fix DSCR inheritance in copy_thread()
    powerpc: Keep thread.dscr and thread.dscr_inherit in sync
    powerpc: Update DSCR on all CPUs when writing sysfs dscr_default
    powerpc/powernv: Always go into nap mode when CPU is offline
    powerpc: Give hypervisor decrementer interrupts their own handler
    powerpc/vphn: Fix arch_update_cpu_topology() return value
    ARM: gemini: fix the gemini build
    ...

    Conflicts:
    drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
    drivers/rapidio/devices/tsi721.c

    Bjorn Helgaas
     

23 Aug, 2012

1 commit


10 Aug, 2012

2 commits

  • The check in the for-loop is broken. Fix it and the
    boot-crash it causes in AMD IOMMUv2 systems.

    Signed-off-by: Joerg Roedel

    Joerg Roedel
     
  • The ACPI tables in the Macbook Air 5,1 define a single IOAPIC with id 2,
    but the only remapping unit described in the DMAR table matches id 0.
    Interrupt remapping fails as a result, and the kernel panics with the
    message "timer doesn't work through Interrupt-remapped IO-APIC."

    To fix this, check each IOAPIC for a corresponding IOMMU. If an IOMMU is
    not found, do not allow IRQ remapping to be enabled.

    v2: Move check to parse_ioapics_under_ir(), raise log level to KERN_ERR,
    and add FW_BUG to the log message
    v3: Skip check if IOMMU doesn't support interrupt remapping and remove
    existing check that the IOMMU count equals the IOAPIC count

    Acked-by: Suresh Siddha
    Signed-off-by: Seth Forshee
    Acked-by: Yinghai Lu
    Signed-off-by: Joerg Roedel

    Seth Forshee
     

07 Aug, 2012

3 commits


03 Aug, 2012

4 commits