Skip to content
Permalink
marek-vasut-gm…
Switch branches/tags

Commits on Jan 16, 2022

  1. PCI: rcar: Return all Fs from read which triggered an exception

    In case the controller is transitioning to L1 in rcar_pcie_config_access(),
    any read/write access to PCIECDR triggers asynchronous external abort. This
    is because the transition to L1 link state must be manually finished by the
    driver. The PCIe IP can transition back from L1 state to L0 on its own.
    
    The current asynchronous external abort hook implementation restarts
    the instruction which finally triggered the fault, which can be a
    different instruction than the read/write instruction which started
    the faulting access. Usually the instruction which finally triggers
    the fault is one which has some data dependency on the result of the
    read/write. In case of read, the read value after fixup is undefined,
    while a read value of faulting read should be all Fs.
    
    It is possible to enforce the fault using 'isb' instruction placed
    right after the read/write instruction which started the faulting
    access. Add custom register accessors which perform the read/write
    followed immediately by 'isb'.
    
    This way, the fault always happens on the 'isb' and in case of read,
    which is located one instruction before the 'isb', it is now possible
    to fix up the return value of the read in the asynchronous external
    abort hook and make that read return all Fs.
    
    Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Bjorn Helgaas <bhelgaas@google.com>
    Cc: Geert Uytterhoeven <geert+renesas@glider.be>
    Cc: Krzysztof Wilczyński <kw@linux.com>
    Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Cc: Wolfram Sang <wsa@the-dreams.de>
    Cc: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
    Cc: linux-renesas-soc@vger.kernel.org
    Marek Vasut authored and intel-lab-lkp committed Jan 16, 2022
  2. PCI: rcar: Finish transition to L1 state in rcar_pcie_config_access()

    In case the controller is transitioning to L1 in rcar_pcie_config_access(),
    any read/write access to PCIECDR triggers asynchronous external abort. This
    is because the transition to L1 link state must be manually finished by the
    driver. The PCIe IP can transition back from L1 state to L0 on its own.
    
    Avoid triggering the abort in rcar_pcie_config_access() by checking whether
    the controller is in the transition state, and if so, finish the transition
    right away. This prevents a lot of unnecessary exceptions, although not all
    of them.
    
    Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Bjorn Helgaas <bhelgaas@google.com>
    Cc: Geert Uytterhoeven <geert+renesas@glider.be>
    Cc: Krzysztof Wilczyński <kw@linux.com>
    Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Cc: Wolfram Sang <wsa@the-dreams.de>
    Cc: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
    Cc: linux-renesas-soc@vger.kernel.org
    Marek Vasut authored and intel-lab-lkp committed Jan 16, 2022

Commits on Jan 13, 2022

  1. Merge branch 'pci/driver-cleanup'

    - Use of_device_get_match_data(), not of_match_device(), when we only need
      the device data in altera, artpec6, cadence, designware-plat, dra7xx,
      keystone, kirin (Fan Fei)
    
    - Drop pointless of_device_get_match_data() cast in j721e (Bjorn Helgaas)
    
    - Drop redundant struct device * from j721e since struct cdns_pcie already
      has one (Bjorn Helgaas)
    
    - Rename driver structs to *_pcie in intel-gw, iproc, ls-gen4,
      mediatek-gen3, microchip, mt7621, rcar-gen2, tegra194, uniphier, xgene,
      xilinx, xilinx-cpm for consistency across drivers (Fan Fei)
    
    - Fix invalid address space conversions in hisi, spear13xx (Bjorn Helgaas)
    
    * pci/driver-cleanup:
      PCI: spear13xx: Avoid invalid address space conversions
      PCI: hisi: Avoid invalid address space conversions
      PCI: xilinx-cpm: Rename xilinx_cpm_pcie_port to xilinx_cpm_pcie
      PCI: xilinx: Rename xilinx_pcie_port to xilinx_pcie
      PCI: xgene: Rename xgene_pcie_port to xgene_pcie
      PCI: uniphier: Rename uniphier_pcie_priv to uniphier_pcie
      PCI: tegra194: Rename tegra_pcie_dw to tegra194_pcie
      PCI: rcar-gen2: Rename rcar_pci_priv to rcar_pci
      PCI: mt7621: Rename mt7621_pci_ to mt7621_pcie_
      PCI: microchip: Rename mc_port to mc_pcie
      PCI: mediatek-gen3: Rename mtk_pcie_port to mtk_gen3_pcie
      PCI: ls-gen4: Rename ls_pcie_g4 to ls_g4_pcie
      PCI: iproc: Rename iproc_pcie_pltfm_ to iproc_pltfm_pcie_
      PCI: iproc: Rename iproc_pcie_bcma_ to iproc_bcma_pcie_
      PCI: intel-gw: Rename intel_pcie_port to intel_pcie
      PCI: j721e: Drop redundant struct device *
      PCI: j721e: Drop pointless of_device_get_match_data() cast
      PCI: kirin: Prefer of_device_get_match_data()
      PCI: keystone: Prefer of_device_get_match_data()
      PCI: dra7xx: Prefer of_device_get_match_data()
      PCI: designware-plat: Prefer of_device_get_match_data()
      PCI: cadence: Prefer of_device_get_match_data()
      PCI: artpec6: Prefer of_device_get_match_data()
      PCI: altera: Prefer of_device_get_match_data()
    
    # Conflicts:
    #	drivers/pci/controller/pcie-mt7621.c
    bjorn-helgaas committed Jan 13, 2022
  2. Merge branch 'pci/errors'

    - Add PCI_ERROR_RESPONSE and related definitions for signaling and checking
      for transaction errors on PCI (Naveen Naidu)
    
    - Fabricate PCI_ERROR_RESPONSE data (~0) in config read wrappers, instead
      of in host controller drivers, when transactions fail on PCI (Naveen
      Naidu)
    
    - Use PCI_POSSIBLE_ERROR() to check for possible failure of config reads
      (Naveen Naidu)
    
    * pci/errors:
      PCI: xgene: Use PCI_ERROR_RESPONSE to identify config read errors
      PCI: hv: Use PCI_ERROR_RESPONSE to identify config read errors
      PCI: keystone: Use PCI_ERROR_RESPONSE to identify config read errors
      PCI: Use PCI_ERROR_RESPONSE to identify config read errors
      PCI: cpqphp: Use PCI_POSSIBLE_ERROR() to check config reads
      PCI/PME: Use PCI_POSSIBLE_ERROR() to check config reads
      PCI/DPC: Use PCI_POSSIBLE_ERROR() to check config reads
      PCI: pciehp: Use PCI_POSSIBLE_ERROR() to check config reads
      PCI: vmd: Use PCI_POSSIBLE_ERROR() to check config reads
      PCI/ERR: Use PCI_POSSIBLE_ERROR() to check config reads
      PCI: rockchip-host: Drop error data fabrication when config read fails
      PCI: rcar-host: Drop error data fabrication when config read fails
      PCI: altera: Drop error data fabrication when config read fails
      PCI: mvebu: Drop error data fabrication when config read fails
      PCI: aardvark: Drop error data fabrication when config read fails
      PCI: kirin: Drop error data fabrication when config read fails
      PCI: histb: Drop error data fabrication when config read fails
      PCI: exynos: Drop error data fabrication when config read fails
      PCI: mediatek: Drop error data fabrication when config read fails
      PCI: iproc: Drop error data fabrication when config read fails
      PCI: thunder: Drop error data fabrication when config read fails
      PCI: Drop error data fabrication when config read fails
      PCI: Use PCI_SET_ERROR_RESPONSE() for disconnected devices
      PCI: Set error response data when config read fails
      PCI: Add PCI_ERROR_RESPONSE and related definitions
    bjorn-helgaas committed Jan 13, 2022
  3. Merge branch 'pci/misc'

    - 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
    bjorn-helgaas committed Jan 13, 2022
  4. Merge branch 'remotes/lorenzo/pci/bridge-emul'

    - 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
    bjorn-helgaas committed Jan 13, 2022
  5. Merge branch 'remotes/lorenzo/pci/xilinx-nwl'

    - 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
    bjorn-helgaas committed Jan 13, 2022
  6. Merge branch 'remotes/lorenzo/pci/xgene'

    - 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
    bjorn-helgaas committed Jan 13, 2022
  7. Merge branch 'remotes/lorenzo/pci/vmd'

    - 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
    bjorn-helgaas committed Jan 13, 2022
  8. Merge branch 'remotes/lorenzo/pci/rcar'

    - 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()
    bjorn-helgaas committed Jan 13, 2022
  9. Merge branch 'remotes/lorenzo/pci/qcom'

    - 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()'
    bjorn-helgaas committed Jan 13, 2022
  10. Merge branch 'remotes/lorenzo/pci/mvebu'

    - 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()
    bjorn-helgaas committed Jan 13, 2022
  11. Merge branch 'pci/host/mt7621'

    - 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
    bjorn-helgaas committed Jan 13, 2022
  12. Merge branch 'remotes/lorenzo/pci/mediatek-gen3'

    - 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
    bjorn-helgaas committed Jan 13, 2022
  13. Merge branch 'remotes/lorenzo/pci/mediatek'

    - 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
    bjorn-helgaas committed Jan 13, 2022
  14. Merge branch 'remotes/lorenzo/pci/keystone'

    - 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
    bjorn-helgaas committed Jan 13, 2022
  15. Merge branch 'pci/host/hv'

    - 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
    bjorn-helgaas committed Jan 13, 2022
  16. Merge branch 'remotes/lorenzo/pci/endpoint'

    - 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
    bjorn-helgaas committed Jan 13, 2022
  17. Merge branch 'remotes/lorenzo/pci/dwc'

    - 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
    bjorn-helgaas committed Jan 13, 2022
  18. Merge branch 'pci/host/brcmstb'

    - 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
    bjorn-helgaas committed Jan 13, 2022
  19. Merge branch 'remotes/lorenzo/pci/apple'

    - 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
    bjorn-helgaas committed Jan 13, 2022
  20. Merge branch 'remotes/lorenzo/pci/aardvark'

    - 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
    bjorn-helgaas committed Jan 13, 2022
  21. Merge branch 'pci/virtualization'

    - 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
    bjorn-helgaas committed Jan 13, 2022
  22. Merge branch 'pci/switchtec'

    - 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
    bjorn-helgaas committed Jan 13, 2022
  23. Merge branch 'pci/resource'

    - 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
    bjorn-helgaas committed Jan 13, 2022
  24. Merge branch 'pci/p2pdma'

    - 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
    bjorn-helgaas committed Jan 13, 2022
  25. Merge branch 'pci/legacy-pm-removal'

    - 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
    bjorn-helgaas committed Jan 13, 2022
  26. Merge branch 'pci/hotplug'

    - 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
    bjorn-helgaas committed Jan 13, 2022
  27. Merge branch 'pci/enumeration'

    - 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
    bjorn-helgaas committed Jan 13, 2022
  28. Merge branch 'pci/aspm'

    - 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
    bjorn-helgaas committed Jan 13, 2022

Commits on Jan 12, 2022

  1. PCI: mt7621: Allow COMPILE_TEST for all arches

    Since all MIPS-specific code has been removed from driver, allow it to be
    enabled for COMPILE_TEST on all architectures.
    
    Mark it as tristate and remove MIPS the MIPS dependency.
    
    Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    paraka authored and bjorn-helgaas committed Jan 12, 2022
  2. PCI: mt7621: Add missing MODULE_LICENSE()

    The MT7621 PCIe host controller driver can be built as a module, but it
    lacks a MODULE_LICENSE(), which causes a build error:
    
      ERROR: modpost: missing MODULE_LICENSE() in drivers/pci/controller/pcie-mt7621.o
    
    Add MODULE_LICENSE() to the driver.
    
    Fixes: 2bdd523 ("PCI: mt7621: Add MediaTek MT7621 PCIe host controller driver")
    Link: https://lore.kernel.org/r/20211207104924.21327-5-sergio.paracuellos@gmail.com
    Signed-off-by: Yanteng Si <siyanteng@loongson.cn>
    Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
    paraka authored and bjorn-helgaas committed Jan 12, 2022
  3. PCI: mt7621: Move MIPS setup to pcibios_root_bridge_prepare()

    On the MIPS ralink mt7621 platform, we need to set up I/O coherency units
    based on the host bridge apertures.
    
    To remove this arch dependency from the driver itself, move the coherency
    setup from the driver to pcibios_root_bridge_prepare().
    
    [bhelgaas: squash add/remove into one patch, commit log]
    Link: https://lore.kernel.org/r/20211207104924.21327-3-sergio.paracuellos@gmail.com
    Link: https://lore.kernel.org/r/20211207104924.21327-4-sergio.paracuellos@gmail.com
    Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: Guenter Roeck <linux@roeck-us.net>             # arch/mips
    Acked-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>   # arch/mips
    paraka authored and bjorn-helgaas committed Jan 12, 2022
  4. PCI: Let pcibios_root_bridge_prepare() access bridge->windows

    When pci_register_host_bridge() is called, bridge->windows are already
    available. However these windows are being moved temporarily from there.
    
    To let pcibios_root_bridge_prepare() have access to these windows, move the
    windows movement after calling this function. This is useful for the MIPS
    ralink mt7621 platform so it can set up I/O coherence units and avoid
    custom MIPS code in the mt7621 PCIe controller driver.
    
    Link: https://lore.kernel.org/r/20211207104924.21327-2-sergio.paracuellos@gmail.com
    Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Acked-by: Arnd Bergmann <arnd@arndb.de>
    paraka authored and bjorn-helgaas committed Jan 12, 2022
  5. PCI: mt7621: Declare mt7621_pci_ops static

    Sparse complains about mt7621_pci_ops symbol is not declared and asks if
    it should be declared as static instead. Sparse is right. Hence declare
    symbol as static.
    
    Link: https://lore.kernel.org/r/20211117152952.12271-1-sergio.paracuellos@gmail.com
    Reported-by: kernel test robot <lkp@intel.com>
    Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
    paraka authored and bjorn-helgaas committed Jan 12, 2022
Older