1. 13 Jan, 2022 26 commits
    • Bjorn Helgaas's avatar
      Merge branch 'pci/misc' · da43f08d
      Bjorn Helgaas authored
      - Sort Intel Device IDs by value (Andy Shevchenko)
      
      - Change Capability offsets to hex to match spec (Baruch Siach)
      
      - Correct misspellings (Krzysztof Wilczyński)
      
      - Terminate statement with semicolon in pci_endpoint_test.c (Ming Wang)
      
      * pci/misc:
        misc: pci_endpoint_test: Terminate statement with semicolon
        PCI: Correct misspelled words
        PCI: Change capability register offsets to hex
        PCI: Sort Intel Device IDs by value
      da43f08d
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/bridge-emul' · 2709f033
      Bjorn Helgaas authored
      - Make emulated ROM BAR read-only by default (Pali Rohár)
      
      - Make some emulated legacy PCI bits read-only for PCIe devices (Pali
        Rohár)
      
      - Update reserved bits in emulated PCIe Capability (Pali Rohár)
      
      - Allow drivers to emulate different PCIe Capability versions (Pali Rohár)
      
      - Set emulated Capabilities List bit for all PCIe devices, since they must
        have at least a PCIe Capability (Pali Rohár)
      
      * remotes/lorenzo/pci/bridge-emul:
        PCI: pci-bridge-emul: Set PCI_STATUS_CAP_LIST for PCIe device
        PCI: pci-bridge-emul: Correctly set PCIe capabilities
        PCI: pci-bridge-emul: Fix definitions of reserved bits
        PCI: pci-bridge-emul: Properly mark reserved PCIe bits in PCI config space
        PCI: pci-bridge-emul: Make expansion ROM Base Address register read-only
      2709f033
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/xilinx-nwl' · a99f501f
      Bjorn Helgaas authored
      - Declare bitmap correctly and as part of struct nwl_msi managed resource
        (Christophe JAILLET)
      
      * remotes/lorenzo/pci/xilinx-nwl:
        PCI: xilinx-nwl: Simplify code and fix a memory leak
      a99f501f
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/xgene' · 18b026da
      Bjorn Helgaas authored
      - Use bitmap ops for MSI allocator (Christophe JAILLET)
      
      - Fix IB window setup, which was broken by the fact that IB resources are
        now sorted in address order instead of DT dma-ranges order (Rob Herring)
      
      * remotes/lorenzo/pci/xgene:
        PCI: xgene: Fix IB window setup
        PCI: xgene-msi: Use bitmap_zalloc() when applicable
      18b026da
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/vmd' · ec5d85e7
      Bjorn Helgaas authored
      - Reset everything below VMD before enumerating to work around failure to
        enumerate NVMe devices when guest OS reboots (Nirmal Patel)
      
      - Honor platform ACPI _OSC feature negotiation for Root Ports below VMD
        (Kai-Heng Feng)
      
      - Add support for Raptor Lake SKUs (Karthik L Gopalakrishnan)
      
      * remotes/lorenzo/pci/vmd:
        PCI: vmd: Add DID 8086:A77F for all Intel Raptor Lake SKU's
        PCI: vmd: Honor ACPI _OSC on PCIe features
        PCI: vmd: Clean up domain before enumeration
      ec5d85e7
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/rcar' · 4ceca42d
      Bjorn Helgaas authored
      - Fix aarch32 abort handler so it doesn't check the wrong bus clock before
        accessing the host controller (Marek Vasut)
      
      * remotes/lorenzo/pci/rcar:
        PCI: rcar: Check if device is runtime suspended instead of __clk_is_enabled()
      4ceca42d
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/qcom' · f0eb209f
      Bjorn Helgaas authored
      - Undo PM setup in qcom_pcie_probe() error handling path (Christophe
        JAILLET)
      
      - Use __be16 type to store return value from cpu_to_be16() (Manivannan
        Sadhasivam)
      
      - Constify static dw_pcie_ep_ops (Rikard Falkeborn)
      
      * remotes/lorenzo/pci/qcom:
        PCI: qcom-ep: Constify static dw_pcie_ep_ops
        PCI: qcom: Use __be16 type to store return value from cpu_to_be16()
        PCI: qcom: Fix an error handling path in 'qcom_pcie_probe()'
      f0eb209f
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/mvebu' · 0de15dbb
      Bjorn Helgaas authored
      - Implement pci_remap_iospace() for ARM so mvebu can use
        devm_pci_remap_iospace() instead of the previous ARM-specific
        pci_ioremap_io() interface (Pali Rohár)
      
      - Use the standard pci_host_probe() instead of the device-specific
        mvebu_pci_host_probe() (Pali Rohár)
      
      - Replace all uses of ARM-specific pci_ioremap_io() with the
        ARM implementation of the standard pci_remap_iospace() interface and
        remove pci_ioremap_io() (Pali Rohár)
      
      - Skip initializing invalid Root Ports (Pali Rohár)
      
      - Check for errors from pci_bridge_emul_init() (Pali Rohár)
      
      - Ignore any bridges at non-zero function numbers (Pali Rohár)
      
      - Return ~0 data for invalid config read size (Pali Rohár)
      
      - Disallow mapping interrupts on emulated bridges (Pali Rohár)
      
      - Clear Root Port Memory & I/O Space Enable and Bus Master Enable at
        initialization (Pali Rohár)
      
      - Make type bits in Root Port I/O Base register read-only (Pali Rohár)
      
      - Disable Root Port windows when base/limit set to invalid values (Pali
        Rohár)
      
      - Set controller to Root Complex mode (Pali Rohár)
      
      - Set Root Port Class Code to PCI Bridge (Pali Rohár)
      
      - Update emulated Root Port secondary bus numbers to better reflect the
        actual topology (Pali Rohár)
      
      - Add PCI_BRIDGE_CTL_BUS_RESET support to emulated Root Ports so
        pci_reset_secondary_bus() can reset connected devices (Pali Rohár)
      
      - Add PCI_EXP_DEVCTL Error Reporting Enable support to emulated Root Ports
        (Pali Rohár)
      
      - Add PCI_EXP_RTSTA PME Status bit support to emulated Root Ports (Pali
        Rohár)
      
      - Add DEVCAP2, DEVCTL2 and LNKCTL2 support to emulated Root Ports on Armada
        XP and newer devices (Pali Rohár)
      
      - Export mvebu-mbus.c symbols to allow pci-mvebu.c to be a module (Pali
        Rohár)
      
      - Add support for compiling as a module (Pali Rohár)
      
      * remotes/lorenzo/pci/mvebu:
        PCI: mvebu: Add support for compiling driver as module
        bus: mvebu-mbus: Export symbols for public API window functions
        PCI: mvebu: Fix support for DEVCAP2, DEVCTL2 and LNKCTL2 registers on emulated bridge
        PCI: mvebu: Fix support for PCI_EXP_RTSTA on emulated bridge
        PCI: mvebu: Fix support for PCI_EXP_DEVCTL on emulated bridge
        PCI: mvebu: Fix support for PCI_BRIDGE_CTL_BUS_RESET on emulated bridge
        PCI: mvebu: Fix configuring secondary bus of PCIe Root Port via emulated bridge
        PCI: mvebu: Set PCI Bridge Class Code to PCI Bridge
        PCI: mvebu: Setup PCIe controller to Root Complex mode
        PCI: mvebu: Propagate errors when updating PCI_IO_BASE and PCI_MEM_BASE registers
        PCI: mvebu: Do not modify PCI IO type bits in conf_write
        PCI: mvebu: Fix support for bus mastering and PCI_COMMAND on emulated bridge
        PCI: mvebu: Disallow mapping interrupts on emulated bridges
        PCI: mvebu: Handle invalid size of read config request
        PCI: mvebu: Check that PCI bridge specified in DT has function number zero
        PCI: mvebu: Check for errors from pci_bridge_emul_init() call
        PCI: mvebu: Check for valid ports
        arm: ioremap: Remove unused ARM-specific function pci_ioremap_io()
        arm: ioremap: Replace pci_ioremap_io() usage by pci_remap_iospace()
        PCI: mvebu: Remove custom mvebu_pci_host_probe() function
        PCI: mvebu: Replace pci_ioremap_io() usage by devm_pci_remap_iospace()
        arm: ioremap: Implement standard PCI function pci_remap_iospace()
      0de15dbb
    • Bjorn Helgaas's avatar
      Merge branch 'pci/host/mt7621' · fc10f9d6
      Bjorn Helgaas authored
      - Declare mt7621_pci_ops static (Sergio Paracuellos)
      
      - Give pcibios_root_bridge_prepare() access to host bridge windows (Sergio
        Paracuellos)
      
      - Move MIPS I/O coherency unit setup from driver to
        pcibios_root_bridge_prepare() (Sergio Paracuellos)
      
      - Add missing MODULE_LICENSE() (Sergio Paracuellos)
      
      - Allow COMPILE_TEST for all arches (Sergio Paracuellos)
      
      * pci/host/mt7621:
        PCI: mt7621: Allow COMPILE_TEST for all arches
        PCI: mt7621: Add missing MODULE_LICENSE()
        PCI: mt7621: Move MIPS setup to pcibios_root_bridge_prepare()
        PCI: Let pcibios_root_bridge_prepare() access bridge->windows
        PCI: mt7621: Declare mt7621_pci_ops static
      fc10f9d6
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/mediatek-gen3' · 96fe5793
      Bjorn Helgaas authored
      - Disable Mediatek DVFSRC voltage request since lack of DVFSRC to respond
        to the request causes failure to exit L1 PM Substate (Jianjun Wang)
      
      * remotes/lorenzo/pci/mediatek-gen3:
        PCI: mediatek-gen3: Disable DVFSRC voltage request
      96fe5793
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/mediatek' · fd785c64
      Bjorn Helgaas authored
      - Assert PERST# for 100ms to allow power and clock to stabilize (qizhong
        cheng)
      
      * remotes/lorenzo/pci/mediatek:
        PCI: mediatek: Assert PERST# for 100ms for power and clock to stabilize
      fd785c64
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/keystone' · 0dfa6f6e
      Bjorn Helgaas authored
      - Add register offset for ti,syscon-pcie-id and ti,syscon-pcie-mode DT
        properties (Kishon Vijay Abraham I)
      
      * remotes/lorenzo/pci/keystone:
        PCI: keystone: Use phandle argument from "ti,syscon-pcie-id"/"ti,syscon-pcie-mode"
        dt-bindings: PCI: ti,am65: Fix "ti,syscon-pcie-id"/"ti,syscon-pcie-mode" to take argument
      0dfa6f6e
    • Bjorn Helgaas's avatar
      Merge branch 'pci/host/hv' · 6553ff3d
      Bjorn Helgaas authored
      - Add hv-internal interfaces to encapsulate arch IRQ dependencies (Sunil
        Muthuswamy)
      
      - Add arm64 Hyper-V vPCI support (Sunil Muthuswamy)
      
      * pci/host/hv:
        PCI: hv: Add arm64 Hyper-V vPCI support
        PCI: hv: Make the code arch neutral by adding arch specific interfaces
      6553ff3d
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/endpoint' · 28b75189
      Bjorn Helgaas authored
      - Return failure from pci_epc_set_msi() if no interrupts are available (Li
        Chen)
      
      * remotes/lorenzo/pci/endpoint:
        PCI: endpoint: Return -EINVAL when interrupts num is smaller than 1
      28b75189
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/dwc' · 2948ce70
      Bjorn Helgaas authored
      - Don't ioremap NULL when DT lacks ATU resource (Tim Harvey)
      
      - Drop redundant qcom-ep error message for platform_get_irq_byname()
        failure (Krzysztof Wilczyński)
      
      - Add i.MX8MM support (Richard Zhu)
      
      - Use DWC common ops instead of layerscape-specific link-up functions (Hou
        Zhiqiang)
      
      * remotes/lorenzo/pci/dwc:
        PCI: layerscape: Change to use the DWC common link-up check function
        PCI: imx: Add the imx8mm pcie support
        dt-bindings: imx6q-pcie: Add PHY phandles and name properties
        PCI: qcom-ep: Remove surplus dev_err() when using platform_get_irq_byname()
        PCI: dwc: Do not remap invalid res
      2948ce70
    • Bjorn Helgaas's avatar
      Merge branch 'pci/host/brcmstb' · c5f62d30
      Bjorn Helgaas authored
      - Declare bitmap correctly for use by bitmap interfaces (Christophe
        JAILLET)
      
      - Clean up computation of legacy and non-legacy MSI bitmasks (Florian
        Fainelli)
      
      - Update suspend/resume/remove error handling to warn about errors and not
        fail the operation (Jim Quinlan)
      
      - Correct the "pcie" and "msi" interrupt descriptions in DT binding (Jim
        Quinlan)
      
      - Add DT bindings for endpoint voltage regulators (Jim Quinlan)
      
      - Split brcm_pcie_setup() into two functions (Jim Quinlan)
      
      - Add mechanism for turning on voltage regulators for connected devices
        (Jim Quinlan)
      
      - Turn voltage regulators for connected devices on/off when bus is added or
        removed (Jim Quinlan)
      
      - When suspending, don't turn off voltage regulators for wakeup devices
        (Jim Quinlan)
      
      * pci/host/brcmstb:
        PCI: brcmstb: Do not turn off WOL regulators on suspend
        PCI: brcmstb: Add control of subdevice voltage regulators
        PCI: brcmstb: Add mechanism to turn on subdev regulators
        PCI: brcmstb: Split brcm_pcie_setup() into two funcs
        dt-bindings: PCI: Add bindings for Brcmstb EP voltage regulators
        dt-bindings: PCI: Correct brcmstb interrupts, interrupt-map.
        PCI: brcmstb: Fix function return value handling
        PCI: brcmstb: Do not use __GENMASK
        PCI: brcmstb: Declare 'used' as bitmap, not unsigned long
      c5f62d30
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/apple' · 3164f27b
      Bjorn Helgaas authored
      - Enable clock gating to save power (Hector Martin)
      
      - Fix REFCLK1 enable/poll logic (Hector Martin)
      
      * remotes/lorenzo/pci/apple:
        PCI: apple: Fix REFCLK1 enable/poll logic
        PCI: apple: Enable clock gating
      3164f27b
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/aardvark' · 800cee8b
      Bjorn Helgaas authored
      - Add bridge emulation definitions for PCIe DEVCAP2, DEVCTL2, DEVSTA2,
        LNKCAP2, LNKCTL2, LNKSTA2, SLTCAP2, SLTCTL2, SLTSTA2 (Pali Rohár)
      
      - Add aardvark support for DEVCAP2, DEVCTL2, LNKCAP2 and LNKCTL2 registers
        (Pali Rohár)
      
      - Clear all MSIs at setup to avoid spurious interrupts (Pali Rohár)
      
      - Disable bus mastering when unbinding host controller driver (Pali Rohár)
      
      - Mask all interrupts when unbinding host controller driver (Pali Rohár)
      
      - Fix memory leak in host controller unbind (Pali Rohár)
      
      - Assert PERST# when unbinding host controller driver (Pali Rohár)
      
      - Disable link training when unbinding host controller driver (Pali Rohár)
      
      - Disable common PHY when unbinding host controller driver (Pali Rohár)
      
      - Fix resource type checking to check only IORESOURCE_MEM, not
        IORESOURCE_MEM_64, which is a flavor of IORESOURCE_MEM (Pali Rohár)
      
      * remotes/lorenzo/pci/aardvark:
        PCI: aardvark: Fix checking for MEM resource type
        PCI: aardvark: Disable common PHY when unbinding driver
        PCI: aardvark: Disable link training when unbinding driver
        PCI: aardvark: Assert PERST# when unbinding driver
        PCI: aardvark: Fix memory leak in driver unbind
        PCI: aardvark: Mask all interrupts when unbinding driver
        PCI: aardvark: Disable bus mastering when unbinding driver
        PCI: aardvark: Comment actions in driver remove method
        PCI: aardvark: Clear all MSIs at setup
        PCI: aardvark: Add support for DEVCAP2, DEVCTL2, LNKCAP2 and LNKCTL2 registers on emulated bridge
        PCI: pci-bridge-emul: Add definitions for missing capabilities registers
        PCI: pci-bridge-emul: Add description for class_revision field
      800cee8b
    • Bjorn Helgaas's avatar
      Merge branch 'pci/virtualization' · d03f92c4
      Bjorn Helgaas authored
      - Add function 1 DMA alias quirk for Marvell 88SE9125 SATA controller so it
        can work with an IOMMU (Yifeng Li)
      
      * pci/virtualization:
        PCI: Add function 1 DMA alias quirk for Marvell 88SE9125 SATA controller
      d03f92c4
    • Bjorn Helgaas's avatar
      Merge branch 'pci/switchtec' · 54f98a8b
      Bjorn Helgaas authored
      - Add Gen4 automotive device IDs (Kelvin Cao)
      
      - Declare state_names[] as static so it's not allocated and initialized for
        every call (Kelvin Cao)
      
      * pci/switchtec:
        PCI/switchtec: Declare local state_names[] as static
        PCI/switchtec: Add Gen4 automotive device IDs
      54f98a8b
    • Bjorn Helgaas's avatar
      Merge branch 'pci/resource' · 05642e2f
      Bjorn Helgaas authored
      - Always write Intel I210 ROM BAR on update to work around device defect
        (Bjorn Helgaas)
      
      * pci/resource:
        PCI: Work around Intel I210 ROM BAR overlap defect
      05642e2f
    • Bjorn Helgaas's avatar
      Merge branch 'pci/p2pdma' · c6ff0f8d
      Bjorn Helgaas authored
      - Add Logan Gunthorpe as P2PDMA maintainer (Bjorn Helgaas)
      
      - Optimize by using percpu_ref_tryget_live_rcu() inside RCU critical
        section (Christophe JAILLET)
      
      * pci/p2pdma:
        PCI/P2PDMA: Use percpu_ref_tryget_live_rcu() inside RCU critical section
        MAINTAINERS: Add Logan Gunthorpe as P2PDMA maintainer
      c6ff0f8d
    • Bjorn Helgaas's avatar
      Merge branch 'pci/legacy-pm-removal' · 446cc1c5
      Bjorn Helgaas authored
      - Convert amd64-agp, sis-agp, via-agp from legacy PCI power management to
        generic power management (Vaibhav Gupta)
      
      * pci/legacy-pm-removal:
        via-agp: convert to generic power management
        sis-agp: convert to generic power management
        amd64-agp: convert to generic power management
      446cc1c5
    • Bjorn Helgaas's avatar
      Merge branch 'pci/hotplug' · 7475f931
      Bjorn Helgaas authored
      - Fix infinite loop in pciehp IRQ handler on power fault (Lukas Wunner)
      
      - Removed commented-out ibmphp functions (Vihas Mak)
      
      - Fix pciehp lockdep errors on Thunderbolt undock (Hans de Goede)
      
      * pci/hotplug:
        PCI: pciehp: Use down_read/write_nested(reset_lock) to fix lockdep errors
        PCI: ibmphp: Remove commented-out functions
        PCI: pciehp: Fix infinite loop in IRQ handler upon power fault
      7475f931
    • Bjorn Helgaas's avatar
      Merge branch 'pci/enumeration' · fb6c4513
      Bjorn Helgaas authored
      - Use pci_find_vsec_capability() instead of open-coding it (Andy
        Shevchenko)
      
      - Convert pci_dev_present() stub from macro to static inline to avoid
        'unused variable' errors (Hans de Goede)
      
      - Convert sysfs slot attributes from default_attrs to default_groups (Greg
        Kroah-Hartman)
      
      - Use DWORD accesses for LTR, L1 SS to avoid BayHub OZ711LV2 erratum (Rajat
        Jain)
      
      - Remove unnecessary initialization of static variables (Longji Guo)
      
      * pci/enumeration:
        x86/PCI: Remove initialization of static variables to false
        PCI: Use DWORD accesses for LTR, L1 SS to avoid erratum
        PCI/sysfs: Use default_groups in kobj_type for slot attrs
        PCI: Convert pci_dev_present() stub to static inline
        PCI: Use pci_find_vsec_capability() when looking for TBT devices
      fb6c4513
    • Bjorn Helgaas's avatar
      Merge branch 'pci/aspm' · 7498e41f
      Bjorn Helgaas authored
      - Calculate link L0s and L1 exit latencies when needed instead of caching
        them (Saheed O. Bolarinwa)
      
      - Calculate device L0s and L1 acceptable exit latencies when needed instead
        of caching them (Saheed O. Bolarinwa)
      
      - Remove struct aspm_latency since it's no longer needed (Saheed O.
        Bolarinwa)
      
      * pci/aspm:
        PCI/ASPM: Remove struct aspm_latency
        PCI/ASPM: Stop caching device L0s, L1 acceptable exit latencies
        PCI/ASPM: Stop caching link L0s, L1 exit latencies
        PCI/ASPM: Move pci_function_0() upward
      7498e41f
  2. 12 Jan, 2022 14 commits