• L
    Merge tag 'pci-v4.3-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 26f8b7ed
    Linus Torvalds 提交于
    Pull PCI updates from Bjorn Helgaas:
     "PCI changes for the v4.3 merge window:
    
      Enumeration:
       - Allocate ATS struct during enumeration (Bjorn Helgaas)
       - Embed ATS info directly into struct pci_dev (Bjorn Helgaas)
       - Reduce size of ATS structure elements (Bjorn Helgaas)
       - Stop caching ATS Invalidate Queue Depth (Bjorn Helgaas)
       - iommu/vt-d: Cache PCI ATS state and Invalidate Queue Depth (Bjorn Helgaas)
       - Move MPS configuration check to pci_configure_device() (Bjorn Helgaas)
       - Set MPS to match upstream bridge (Keith Busch)
       - ARM/PCI: Set MPS before pci_bus_add_devices() (Murali Karicheri)
       - Add pci_scan_root_bus_msi() (Lorenzo Pieralisi)
       - ARM/PCI, designware, xilinx: Use pci_scan_root_bus_msi() (Lorenzo Pieralisi)
    
      Resource management:
       - Call pci_read_bridge_bases() from core instead of arch code (Lorenzo Pieralisi)
    
      PCI device hotplug:
       - pciehp: Remove unused interrupt events (Bjorn Helgaas)
       - pciehp: Remove ignored MRL sensor interrupt events (Bjorn Helgaas)
       - pciehp: Handle invalid data when reading from non-existent devices (Jarod Wilson)
       - pciehp: Simplify pcie_poll_cmd() (Yijing Wang)
       - Use "slot" and "pci_slot" for struct hotplug_slot and struct pci_slot (Yijing Wang)
       - Protect pci_bus->slots with pci_slot_mutex, not pci_bus_sem (Yijing Wang)
       - Hold pci_slot_mutex while searching bus->slots list (Yijing Wang)
    
      Power management:
       - Disable async suspend/resume for JMicron multi-function SATA/AHCI (Zhang Rui)
    
      Virtualization:
       - Add ACS quirks for Intel I219-LM/V (Alex Williamson)
       - Restore ACS configuration as part of pci_restore_state() (Alexander Duyck)
    
      MSI:
       - Add pcibios_alloc_irq() and pcibios_free_irq() (Jiang Liu)
       - x86: Implement pcibios_alloc_irq() and pcibios_free_irq() (Jiang Liu)
       - Add helpers to manage pci_dev->irq and pci_dev->irq_managed (Jiang Liu)
       - Free legacy IRQ when enabling MSI/MSI-X (Jiang Liu)
       - ARM/PCI: Remove msi_controller from struct pci_sys_data (Lorenzo Pieralisi)
       - Remove unused pcibios_msi_controller() hook (Lorenzo Pieralisi)
    
      Generic host bridge driver:
       - Remove dependency on ARM-specific struct hw_pci (Jayachandran C)
       - Build setup-irq.o for arm64 (Jayachandran C)
       - Add arm64 support (Jayachandran C)
    
      APM X-Gene host bridge driver:
       - Add APM X-Gene PCIe 64-bit prefetchable window (Duc Dang)
       - Add support for a 64-bit prefetchable memory window (Duc Dang)
       - Drop owner assignment from platform_driver (Krzysztof Kozlowski)
    
      Broadcom iProc host bridge driver:
       - Allow BCMA bus driver to be built as module (Hauke Mehrtens)
       - Delete unnecessary checks before phy calls (Markus Elfring)
       - Add arm64 support (Ray Jui)
    
      Synopsys DesignWare host bridge driver:
       - Don't complain missing *config* reg space if va_cfg0 is set (Murali Karicheri)
    
      TI DRA7xx host bridge driver:
       - Disable pm_runtime on get_sync failure (Kishon Vijay Abraham I)
       - Add PM support (Kishon Vijay Abraham I)
       - Clear MSE bit during suspend so clocks will idle (Kishon Vijay Abraham I)
       - Add support to make GPIO drive PERST# line (Kishon Vijay Abraham I)
    
      Xilinx AXI host bridge driver:
       - Check for MSI interrupt flag before handling as INTx (Russell Joyce)
    
      Miscellaneous:
       - Fix Intersil/Techwell TW686[4589] AV capture class code (Krzysztof Hałasa)
       - Use PCI_CLASS_SERIAL_USB instead of bare number (Bjorn Helgaas)
       - Fix generic NCR 53c810 class code quirk (Bjorn Helgaas)
       - Fix TI816X class code quirk (Bjorn Helgaas)
       - Remove unused "pci_probe" flags (Bjorn Helgaas)
       - Host bridge driver code simplifications (Fabio Estevam)
       - Add dev_flags bit to access VPD through function 0 (Mark Rustad)
       - Add VPD function 0 quirk for Intel Ethernet devices (Mark Rustad)
       - Kill off set_irq_flags() usage (Rob Herring)
       - Remove Intel Cherrytrail D3 delays (Srinidhi Kasagar)
       - Clean up pci_find_capability() (Wei Yang)"
    
    * tag 'pci-v4.3-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (72 commits)
      PCI: Disable async suspend/resume for JMicron multi-function SATA/AHCI
      PCI: Set MPS to match upstream bridge
      PCI: Move MPS configuration check to pci_configure_device()
      PCI: Drop references acquired by of_parse_phandle()
      PCI/MSI: Remove unused pcibios_msi_controller() hook
      ARM/PCI: Remove msi_controller from struct pci_sys_data
      ARM/PCI, designware, xilinx: Use pci_scan_root_bus_msi()
      PCI: Add pci_scan_root_bus_msi()
      ARM/PCI: Replace panic with WARN messages on failures
      PCI: generic: Add arm64 support
      PCI: Build setup-irq.o for arm64
      PCI: generic: Remove dependency on ARM-specific struct hw_pci
      PCI: imx6: Simplify a trivial if-return sequence
      PCI: spear: Use BUG_ON() instead of condition followed by BUG()
      PCI: dra7xx: Remove unneeded use of IS_ERR_VALUE()
      PCI: Remove pci_ats_enabled()
      PCI: Stop caching ATS Invalidate Queue Depth
      PCI: Move ATS declarations to linux/pci.h so they're all together
      PCI: Clean up ATS error handling
      PCI: Use pci_physfn() rather than looking up physfn by hand
      ...
    26f8b7ed
intel-iommu.c 125.9 KB