1. 04 Aug, 2022 11 commits
    • Bjorn Helgaas's avatar
      Merge branch 'pci/ctrl/dwc-edma' · 94d13317
      Bjorn Helgaas authored
      - Remove unused struct dw_edma_chip.irq (Frank Li)
      
      - Move eDMA private data from struct dw_edma to struct dw_edma_chip (Frank
        Li)
      
      - Convert "struct dw_edma_region rg_region" to "void __iomem *reg_base"
        since only the virtual address (not physical address or size) is used
        (Frank Li)
      
      - Rename "*_ch_cnt" to "ll_*_cnt" to reflect actual usage (Frank Li)
      
      - Drop dma_slave_config.direction field usage (Serge Semin)
      
      - Fix eDMA Rd/Wr-channels and DMA-direction semantics (Serge Semin)
      
      - Add chip-specific DW_EDMA_CHIP_LOCAL flag to indicate that local eDMA
        doesn't require generating MSIs to remote (Frank Li)
      
      - Enable DMA tests for endpoints that support it (Frank Li)
      
      * pci/ctrl/dwc-edma:
        PCI: endpoint: Enable DMA tests for endpoints with DMA capabilities
        dmaengine: dw-edma: Add support for chip-specific flags
        dmaengine: dw-edma: Fix eDMA Rd/Wr-channels and DMA-direction semantics
        dmaengine: dw-edma: Drop dma_slave_config.direction field usage
        dmaengine: dw-edma: Rename wr(rd)_ch_cnt to ll_wr(rd)_cnt in struct dw_edma_chip
        dmaengine: dw-edma: Change rg_region to reg_base in struct dw_edma_chip
        dmaengine: dw-edma: Detach the private data and chip info structures
        dmaengine: dw-edma: Remove unused irq field in struct dw_edma_chip
      94d13317
    • Bjorn Helgaas's avatar
      Merge branch 'pci/ctrl/dwc' · 964db794
      Bjorn Helgaas authored
      - Stop link on host_init errors and de-initialization (Serge Semin)
      
      - Add support for unrolled iATU register space in dw_pcie_disable_atu()
        (Serge Semin)
      
      - Disable outbound windows only for controllers that use iATU (Serge Semin)
      
      - Set INCREASE_REGION_SIZE flag based on limit address, not on the size,
        since even a small size may cross a 4GB boundary (Serge Semin)
      
      - Deallocate EPC memory on dw_pcie_ep_init() errors to avoid a leak (Serge
        Semin)
      
      - Always enable CDM check if "snps,enable-cdm-check" exists instead of
        exiting early if the optional "num-lanes" was absent (Serge Semin)
      
      - Simplify detection of whether we're using unrolled iATU registers (Serge
        Semin)
      
      - Make dw_pcie_link_up() more generic by using dw_pcie_readl_dbi() instead
        of readl() (Serge Semin)
      
      - Add dw_pcie_start_link() and dw_pcie_stop_link() wrappers to factor out
        checks for ops being implemented (Serge Semin)
      
      - Move io_cfg_atu_shared to struct pcie_port and rename to cfg0_io_shared,
        since it's not used by dwc common code or dwc endpoint code (Serge Semin)
      
      - Rename struct pcie_port to dw_pcie_rp to indicate that it's
        DesignWare-specific (Serge Semin)
      
      - Drop unused struct dw_plat_pcie regmap pointer (Serge Semin)
      
      - Fix some coding style issues (Serge Semin)
      
      - Log link speed and width if it comes up (Serge Semin)
      
      - Save DWC IP core version in native format as read from
        PORT_LOGIC.PCIE_VERSION_OFF register (Serge Semin)
      
      - Read DWC IP core version from PORT_LOGIC.PCIE_VERSION_OFF (Serge Semin)
      
      - Add macros to compare Synopsys IP core versions (Serge Semin)
      
      - Drop manual DWC IP core version setup from intel-gw and tegra194 (Serge
        Semin)
      
      - Add dw_pcie_ops.host_deinit() callback (Serge Semin)
      
      - Drop enum dw_pcie_as_type in favor of PCIE_ATU_TYPE_MEM/IO (Serge Semin)
      
      - Drop enum dw_pcie_region_type in favor of PCIE_ATU_REGION_DIR_IB/OB
        (Serge Semin)
      
      - Simplify in/outbound iATU setup methods and reduce duplicated code (Serge
        Semin)
      
      - Detect iATU region size from hardware (Serge Semin)
      
      - Validate iATU outbound mappings against hardware constraints (Serge
        Semin)
      
      - Check for errors in iATU setup (Serge Semin)
      
      - Allocate a 32-bit DMA-able page to be MSI target instead of using a
        driver data structure that may not be addressable with 32-bit address
        (Will McVicker)
      
      - Use the bitmap API to allocate bitmaps instead of open-coding it
        (Christophe JAILLET)
      
      - Correct dw_pcie_free_msi() checking for when to remove IRQ handler and
        data (Dmitry Baryshkov)
      
      - Split MSI init to new dw_pcie_msi_host_init() function (Dmitry Baryshkov)
      
      - Convert struct pcie_port.msi_irq to an array so we can support more than
        32 MSI interrupts (Dmitry Baryshkov)
      
      - Handle MSIs routed to multiple GIC interrupts for Qualcomm platforms with
        groups of 32 MSI vectors (Dmitry Baryshkov)
      
      - Add additional MSI interrupts to qcom DT (Dmitry Baryshkov)
      
      * pci/ctrl/dwc:
        dt-bindings: PCI: qcom: Support additional MSI vectors
        PCI: dwc: Handle MSIs routed to multiple GIC interrupts
        PCI: dwc: Convert struct pcie_port.msi_irq to an array
        PCI: dwc: Split MSI IRQ parsing/allocation to a separate function
        PCI: dwc: Correct msi_irq condition in dw_pcie_free_msi()
        PCI: dwc: Use the bitmap API to allocate bitmaps
        PCI: dwc: Fix MSI msi_msg DMA mapping
        PCI: dwc: Check iATU in/outbound range setup status
        PCI: dwc: Validate iATU outbound mappings against hardware constraints
        PCI: dwc: Add iATU regions size detection procedure
        PCI: dwc: Simplify in/outbound iATU setup methods
        PCI: dwc: Drop enum dw_pcie_region_type in favor of PCIE_ATU_REGION_DIR_IB/OB
        PCI: dwc: Drop enum dw_pcie_as_type in favor of PCIE_ATU_TYPE_MEM/IO
        PCI: dwc: Add dw_pcie_ops.host_deinit() callback
        PCI: tegra194: Drop manual DW PCIe controller version setup
        PCI: intel-gw: Drop manual DW PCIe controller version setup
        PCI: dwc: Add macros to compare Synopsys IP core versions
        PCI: dwc: Read DWC IP core version from register
        PCI: dwc: Use native DWC IP core version representation
        PCI: dwc: Detect iATU settings after getting "addr_space" resource
        PCI: dwc: Log link speed and width if it comes up
        PCI: dwc-plat: Drop dw_plat_pcie_of_match[] forward declaration
        PCI: dwc-plat: Drop unused regmap pointer
        PCI: dwc-plat: Simplify dw_plat_pcie_probe() return values
        PCI: dwc: Rename struct pcie_port to dw_pcie_rp
        PCI: dwc: Move io_cfg_atu_shared to struct pcie_port
        PCI: dwc: Add start_link/stop_link inlines
        PCI: dwc: Reuse local pointer to the resource data
        PCI: dwc: Organize local variable usage
        PCI: dwc: Convert dw_pcie_link_up() to use dw_pcie_readl_dbi()
        PCI: dwc: Simplify unrolled iATU detection
        PCI: dwc: Add newlines to log messages
        PCI: dwc: Add braces to multi-line if-else statements
        PCI: dwc: Always enable CDM check if "snps,enable-cdm-check" exists
        PCI: dwc: Deallocate EPC memory on dw_pcie_ep_init() errors
        PCI: dwc: Set INCREASE_REGION_SIZE flag based on limit address
        PCI: dwc: Disable outbound windows only for controllers using iATU
        PCI: dwc: Add unroll iATU space support to dw_pcie_disable_atu()
        PCI: dwc: Stop link on host_init errors and de-initialization
      964db794
    • Bjorn Helgaas's avatar
      Merge branch 'pci/ctrl/brcmstb' · 9154b00f
      Bjorn Helgaas authored
      - Remove unnecessary forward declarations (Jim Quinlan)
      
      - Prevent config space access when link is down (Jim Quinlan)
      
      - Split post-link up initialization to brcm_pcie_start_link() (Jim Quinlan)
      
      - Enable child bus device regulators described under Root Ports in DT (Jim
        Quinlan)
      
      - Disable/enable regulators in suspend/resume (Jim Quinlan)
      
      - Rename .map_bus() functions to end with 'map_bus' as they do in other
        drivers (Jim Quinlan)
      
      * pci/ctrl/brcmstb:
        PCI: brcmstb: Rename .map_bus() functions to end with 'map_bus'
        PCI: brcmstb: Disable/enable regulators in suspend/resume
        PCI: brcmstb: Enable child bus device regulators from DT
        PCI: brcmstb: Split post-link up initialization to brcm_pcie_start_link()
        PCI: brcmstb: Prevent config space access when link is down
        PCI: brcmstb: Remove unnecessary forward declarations
      9154b00f
    • Bjorn Helgaas's avatar
      Merge branch 'pci/ctrl/aardvark' · 95aa832b
      Bjorn Helgaas authored
      - Add support for AER capability on emulated bridge (Pali Rohár)
      
      - Add support for Slot capability on emulated bridge (Pali Rohár)
      
      * pci/ctrl/aardvark:
        PCI: aardvark: Fix reporting Slot capabilities on emulated bridge
        PCI: aardvark: Add support for AER registers on emulated bridge
      95aa832b
    • Bjorn Helgaas's avatar
      Merge branch 'pci/virtualization' · d22b9e60
      Bjorn Helgaas authored
      - Add ACS quirk for Broadcom BCM5750x multifunction NICs that isolate the
        functions but don't advertise an ACS capability (Pavan Chebbi)
      
      * pci/virtualization:
        PCI: Add ACS quirk for Broadcom BCM5750x NICs
      d22b9e60
    • Bjorn Helgaas's avatar
      Merge branch 'pci/resource' · bac0f447
      Bjorn Helgaas authored
      - Replace sparc pci_mmap_page_range() wrapper.  This still leaves a
        sparc-specific pci_mmap_resource_range(), but it's only one interface
        instead of two (Arnd Bergmann)
      
      - Remove sparc-specific pci_mmap_resource_range() by implementing
        pci_iobar_pfn().  This removes the ability to map the entire PCI I/O
        space using /proc/bus/pci, but we believe that's already been broken
        since v2.6.28 (Arnd Bergmann)
      
      * pci/resource:
        sparc: Use generic pci_mmap_resource_range()
        PCI: Remove pci_mmap_page_range() wrapper
      bac0f447
    • Bjorn Helgaas's avatar
      Merge branch 'pci/pm' · 3dc4d333
      Bjorn Helgaas authored
      - Convert documentation examples to generic power management (Bjorn
        Helgaas)
      
      * pci/pm:
        PCI/doc: Convert examples to generic power management
      3dc4d333
    • Bjorn Helgaas's avatar
      Merge branch 'pci/err' · 5a20930f
      Bjorn Helgaas authored
      - Recognize disconnected devices so we don't bother trying to set them to
        "frozen" or "normal" state (Christoph Hellwig)
      
      - Clear PCI Status register during enumeration in case firmware left errors
        logged (Kai-Heng Feng)
      
      - Configure ECRC for every device, including hot-added ones (Stefan Roese)
      
      - Keep AER error reporting enabled for switches (Stefan Roese)
      
      - Enable error reporting for all devices that support AER (Stefan Roese)
      
      - Iterate over error counters instead of error strings to avoid printing
        junk in AER sysfs counters (Mohamed Khalfella)
      
      * pci/err:
        PCI/AER: Iterate over error counters instead of error strings
        PCI/AER: Enable error reporting when AER is native
        PCI/portdrv: Don't disable AER reporting in get_port_device_capability()
        PCI/AER: Configure ECRC for every device
        PCI: Clear PCI_STATUS when setting up device
        PCI/ERR: Recognize disconnected devices in report_error_detected()
      5a20930f
    • Bjorn Helgaas's avatar
      Merge branch 'pci/enumeration' · dc525311
      Bjorn Helgaas authored
      - Split out ARI "next function" handling from the traditional one (Niklas
        Schnelle)
      
      - Move jailhouse "isolated function" (non-zero functions where function 0
        doesn't exist) handling to pci_scan_slot() to avoid duplicating
        multi-function scanning in pci_scan_child_bus_extend() (Niklas Schnelle)
      
      - Extend "isolated function" probing to s390 (Niklas Schnelle).
      
      - Allow s390 zPCI zbus without a function 0 (Niklas Schnelle)
      
      * pci/enumeration:
        s390/pci: allow zPCI zbus without a function zero
        PCI: Extend isolated function probing to s390
        PCI: Move jailhouse's isolated function handling to pci_scan_slot()
        PCI: Split out next_ari_fn() from next_fn()
        PCI: Clean up pci_scan_slot()
      dc525311
    • Bjorn Helgaas's avatar
      Merge branch 'pci/endpoint' · 49210431
      Bjorn Helgaas authored
      - Don't stop an EPC when unbinding an EPF from it (Shunsuke Mie)
      
      * pci/endpoint:
        PCI: endpoint: Don't stop controller when unbinding endpoint function
      49210431
    • Bjorn Helgaas's avatar
      Merge branch 'pci/aspm' · 50f7a544
      Bjorn Helgaas authored
      - Remove pcie_aspm_pm_state_change(), which overwrites ASPM config on power
        state changes (Kai-Heng Feng)
      
      * pci/aspm:
        PCI/ASPM: Unexport pcie_aspm_support_enabled()
        PCI/ASPM: Remove pcie_aspm_pm_state_change()
      50f7a544
  2. 01 Aug, 2022 21 commits
  3. 29 Jul, 2022 2 commits
  4. 27 Jul, 2022 6 commits