1. 13 Jan, 2022 12 commits
    • 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 10 commits
  3. 11 Jan, 2022 3 commits
  4. 05 Jan, 2022 1 commit
  5. 29 Dec, 2021 1 commit
  6. 26 Dec, 2021 1 commit
  7. 17 Dec, 2021 1 commit
  8. 16 Dec, 2021 1 commit
  9. 15 Dec, 2021 3 commits
  10. 14 Dec, 2021 3 commits
    • Vaibhav Gupta's avatar
      via-agp: convert to generic power management · 0aeddbd0
      Vaibhav Gupta authored
      Convert via-agp from legacy PCI power management to the generic power
      management framework.
      
      Previously, via-agp used legacy PCI power management, and agp_via_suspend()
      and agp_via_resume() were responsible for both device-specific things and
      generic PCI things:
      
        agp_via_suspend
          pci_save_state(pdev)                <-- generic PCI
          pci_set_power_state(pdev, pci_choose_state(pdev, state)) <-- generic PCI
      
        agp_via_resume
          pci_set_power_state(pdev, PCI_D0)   <-- generic PCI
          pci_restore_state(pdev)             <-- generic PCI
          via_configure_agp3()                <-- device-specific
          via_configure()                     <-- device-specific
      
      With generic power management, the PCI bus PM methods do the generic PCI
      things, and the driver needs only the device-specific part, i.e.,
      
        suspend_devices_and_enter
          dpm_suspend_start(PMSG_SUSPEND)
            pci_pm_suspend                    # PCI bus .suspend() method
              agp_via_suspend                 <-- not needed at all; removed
          suspend_enter
            dpm_suspend_noirq(PMSG_SUSPEND)
              pci_pm_suspend_noirq            # PCI bus .suspend_noirq() method
                pci_save_state                <-- generic PCI
                pci_prepare_to_sleep          <-- generic PCI
                  pci_set_power_state
          ...
          dpm_resume_end(PMSG_RESUME)
            pci_pm_resume                     # PCI bus .resume() method
              pci_restore_standard_config
                pci_set_power_state(PCI_D0)   <-- generic PCI
                pci_restore_state             <-- generic PCI
              agp_via_resume                  # dev->driver->pm->resume
                via_configure_agp3()          <-- device-specific
                via_configure()               <-- device-specific
      
      [bhelgaas: commit log]
      Link: https://lore.kernel.org/r/20211208193305.147072-4-helgaas@kernel.orgSigned-off-by: default avatarVaibhav Gupta <vaibhavgupta40@gmail.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Acked-by: default avatarDave Airlie <airlied@redhat.com>
      0aeddbd0
    • Vaibhav Gupta's avatar
      sis-agp: convert to generic power management · 6d1adc3d
      Vaibhav Gupta authored
      Convert sis-agp from legacy PCI power management to the generic power
      management framework.
      
      Previously, sis-agp used legacy PCI power management, and agp_sis_suspend()
      and agp_sis_resume() were responsible for both device-specific things and
      generic PCI things:
      
        agp_sis_suspend
          pci_save_state(pdev)                <-- generic PCI
          pci_set_power_state(pdev, pci_choose_state(pdev, state)) <-- generic PCI
      
        agp_sis_resume
          pci_set_power_state(pdev, PCI_D0)   <-- generic PCI
          pci_restore_state(pdev)             <-- generic PCI
          sis_driver.configure()              <-- device-specific
      
      With generic power management, the PCI bus PM methods do the generic PCI
      things, and the driver needs only the device-specific part, i.e.,
      
        suspend_devices_and_enter
          dpm_suspend_start(PMSG_SUSPEND)
            pci_pm_suspend                    # PCI bus .suspend() method
              agp_sis_suspend                 <-- not needed at all; removed
          suspend_enter
            dpm_suspend_noirq(PMSG_SUSPEND)
              pci_pm_suspend_noirq            # PCI bus .suspend_noirq() method
                pci_save_state                <-- generic PCI
                pci_prepare_to_sleep          <-- generic PCI
                  pci_set_power_state
          ...
          dpm_resume_end(PMSG_RESUME)
            pci_pm_resume                     # PCI bus .resume() method
              pci_restore_standard_config
                pci_set_power_state(PCI_D0)   <-- generic PCI
                pci_restore_state             <-- generic PCI
              agp_sis_resume                  # dev->driver->pm->resume
                sis_driver.configure()        <-- device-specific
      
      [bhelgaas: commit log]
      Link: https://lore.kernel.org/r/20211208193305.147072-3-helgaas@kernel.orgSigned-off-by: default avatarVaibhav Gupta <vaibhavgupta40@gmail.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Acked-by: default avatarDave Airlie <airlied@redhat.com>
      6d1adc3d
    • Vaibhav Gupta's avatar
      amd64-agp: convert to generic power management · ec4e4a6f
      Vaibhav Gupta authored
      Convert amd64-agp from legacy PCI power management to the generic power
      management framework.
      
      Previously, amd64-agp used legacy PCI power management, and
      agp_amd64_suspend() and agp_amd64_resume() were responsible for both
      device-specific things and generic PCI things:
      
        agp_amd64_suspend
          pci_save_state(pdev)                <-- generic PCI
          pci_set_power_state(pdev, pci_choose_state(pdev, state)) <-- generic PCI
      
        agp_amd64_resume
          pci_set_power_state(pdev, PCI_D0)   <-- generic PCI
          pci_restore_state(pdev)             <-- generic PCI
          nforce3_agp_init()                  <-- device-specific
          amd_8151_configure()                <-- device-specific
      
      With generic power management, the PCI bus PM methods do the generic PCI
      things, and the driver needs only the device-specific part, i.e.,
      
        suspend_devices_and_enter
          dpm_suspend_start(PMSG_SUSPEND)
            pci_pm_suspend                    # PCI bus .suspend() method
              agp_amd64_suspend               <-- not needed at all; removed
          suspend_enter
            dpm_suspend_noirq(PMSG_SUSPEND)
              pci_pm_suspend_noirq            # PCI bus .suspend_noirq() method
                pci_save_state                <-- generic PCI
                pci_prepare_to_sleep          <-- generic PCI
                  pci_set_power_state
          ...
          dpm_resume_end(PMSG_RESUME)
            pci_pm_resume                     # PCI bus .resume() method
              pci_restore_standard_config
                pci_set_power_state(PCI_D0)   <-- generic PCI
                pci_restore_state             <-- generic PCI
              agp_amd64_resume                # dev->driver->pm->resume
                nforce3_agp_init()            <-- device-specific
                amd_8151_configure()          <-- device-specific
      
      [bhelgaas: commit log]
      Link: https://lore.kernel.org/r/20211208193305.147072-2-helgaas@kernel.orgSigned-off-by: default avatarVaibhav Gupta <vaibhavgupta40@gmail.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Acked-by: default avatarDave Airlie <airlied@redhat.com>
      ec4e4a6f
  11. 10 Dec, 2021 1 commit
  12. 06 Dec, 2021 3 commits