1. 15 Jan, 2024 25 commits
    • Bjorn Helgaas's avatar
      Merge branch 'pci/misc' · 7119ca35
      Bjorn Helgaas authored
      - Drop unused struct pci_driver.node member (Mathias Krause)
      
      - Fix documentation typos (Attreyee Mukherjee)
      
      - Use a unique test pattern for each BAR in the pci_endpoint_test to make
        it easier to debug address translation issues (Niklas Cassel)
      
      - Fix kernel-doc issues (Bjorn Helgaas)
      
      * pci/misc:
        PCI: Fix kernel-doc issues
        misc: pci_endpoint_test: Use a unique test pattern for each BAR
        docs: PCI: Fix typos
        PCI: Remove unused 'node' member from struct pci_driver
      7119ca35
    • Bjorn Helgaas's avatar
      Merge branch 'pci/dt-bindings' · 9946bbb3
      Bjorn Helgaas authored
      - Increase qcom iommu-map maxItems to accommodate SDX55 (five entries) and
        SDM845 (sixteen entries) (Krzysztof Kozlowski)
      
      - Describe qcom,pcie-sc8180x clocks and resets accurately (Krzysztof
        Kozlowski)
      
      - Describe qcom,pcie-sm8150 clocks and resets accurately (Krzysztof
        Kozlowski)
      
      - Correct the qcom "reset-name" property, previously incorrectly called
        "reset-names" (Krzysztof Kozlowski)
      
      - Document rockchip optional PCIe reference clock input (Heiko Stuebner)
      
      - Document qcom,pcie-sm8650, based on qcom,pcie-sm8550 (Neil Armstrong)
      
      * pci/dt-bindings:
        dt-bindings: PCI: qcom: Document the SM8650 PCIe Controller
        dt-bindings: PCI: dwc: rockchip: Document optional PCIe reference clock input
        dt-bindings: PCI: qcom: Correct reset-names property
        dt-bindings: PCI: qcom: Correct clocks for SM8150
        dt-bindings: PCI: qcom: Correct clocks for SC8180x
        dt-bindings: PCI: qcom: Adjust iommu-map for different SoC
      9946bbb3
    • Bjorn Helgaas's avatar
      Merge branch 'pci/remove-old-api' · eddcaefa
      Bjorn Helgaas authored
      - In dw-xdata-pcie, pci_endpoint_test, and vmd, replace usage of deprecated
        ida_simple_*() API with ida_alloc() and ida_free() (Christophe JAILLET)
      
      * pci/remove-old-api:
        dw-xdata: Remove usage of the deprecated ida_simple_*() API
        misc: pci_endpoint_test: Remove usage of the deprecated ida_simple_*() API
        PCI: vmd: Remove usage of the deprecated ida_simple_*() API
      eddcaefa
    • Bjorn Helgaas's avatar
      Merge branch 'pci/endpoint' · d43e4239
      Bjorn Helgaas authored
      - Make struct pci_epc_event_ops and struct pci_epf_ops instances const
        (Lars-Peter Clausen)
      
      * pci/endpoint:
        PCI: endpoint: pci-epf-test: Make struct pci_epf_ops const
        PCI: endpoint: pci-epf-vntb: Make struct pci_epf_ops const
        PCI: endpoint: pci-epf-ntb: Make struct pci_epf_ops const
        PCI: endpoint: pci-epf-mhi: Make structs pci_epf_ops and pci_epf_event_ops const
        PCI: endpoint: Make struct pci_epf_ops in pci_epf_driver const
      d43e4239
    • Bjorn Helgaas's avatar
      Merge branch 'pci/irq-clean-up' · dc14155d
      Bjorn Helgaas authored
      - Rename PCI_IRQ_LEGACY to PCI_IRQ_INTX to be more explicit and match spec
        terminology (Bjorn Helgaas)
      
      - Use existing PCI_IRQ_INTX, PCI_IRQ_MSI, PCI_IRQ_MSIX in artpec6, cadence,
        designware, designware-plat, dra7xx, imx6, keembay, keystone, layerscape,
        mhi, ntb, qcom, rcar, rcar-gen4, rockchip, tegra194, uniphier, vntb; drop
        the redundant pci_epc_irq_type enum with the same values (Damien Le Moal)
      
      - Use "intx" instead of "leg" or "legacy" when describing INTx interrupts
        in endpoint core, endpoint tests, cadence, dra7xx, designware,
        dw-rockchip, dwc core, imx6, keystone, layerscape, qcom, rcar-gen4,
        rockchip, tegra194, uniphier, xilinx-nwl (Damien Le Moal)
      
      * pci/irq-clean-up:
        PCI: xilinx-nwl: Use INTX instead of legacy
        PCI: rockchip-host: Rename rockchip_pcie_legacy_int_handler()
        PCI: rockchip-ep: Use INTX instead of legacy
        PCI: uniphier: Use INTX instead of legacy
        PCI: tegra194: Use INTX instead of legacy
        PCI: dw-rockchip: Rename rockchip_pcie_legacy_int_handler()
        PCI: keystone: Use INTX instead of legacy
        PCI: dwc: Rename dw_pcie_ep_raise_legacy_irq()
        PCI: cadence: Use INTX instead of legacy
        PCI: dra7xx: Rename dra7xx_pcie_raise_legacy_irq()
        misc: pci_endpoint_test: Use INTX instead of LEGACY
        PCI: endpoint: Rename LEGACY to INTX in test function driver
        PCI: endpoint: Use INTX instead of legacy
        PCI: endpoint: Drop PCI_EPC_IRQ_XXX definitions
        PCI: Rename PCI_IRQ_LEGACY to PCI_IRQ_INTX
      dc14155d
    • Bjorn Helgaas's avatar
      Merge branch 'pci/controller/remove-void-return' · eb30ad41
      Bjorn Helgaas authored
      - Convert exynos, keystone, kirin from .remove() to .remove_new(), which
        returns void instead of int (Uwe Kleine-König)
      
      * pci/controller/remove-void-return:
        PCI: kirin: Convert to platform remove callback returning void
        PCI: keystone: Convert to platform remove callback returning void
        PCI: exynos: Convert to platform remove callback returning void
      eb30ad41
    • Bjorn Helgaas's avatar
      Merge branch 'pci/controller/xilinx' · fd286a1d
      Bjorn Helgaas authored
      - Remove redundant dev_err(), since platform_get_irq() and
        platform_get_irq_byname() already log errors (Yang Li)
      
      - Fix uninitialized symbols in xilinx_pl_dma_pcie_setup_irq() (Krzysztof
        Wilczyński)
      
      - Fix xilinx_pl_dma_pcie_init_irq_domain() error return when
        irq_domain_add_linear() fails (Harshit Mogalapalli)
      
      * pci/controller/xilinx:
        PCI: xilinx-xdma: Fix error code in xilinx_pl_dma_pcie_init_irq_domain()
        PCI: xilinx-xdma: Fix uninitialized symbols in xilinx_pl_dma_pcie_setup_irq()
        PCI: xilinx-xdma: Remove redundant dev_err()
      fd286a1d
    • Bjorn Helgaas's avatar
      Merge branch 'pci/controller/vmd' · 161d42df
      Bjorn Helgaas authored
      - Use ida_alloc() instead of deprecated ida_simple_get() (Christophe JAILLET)
      
      * pci/controller/vmd:
        PCI: vmd: Remove usage of the deprecated ida_simple_xx() API
      161d42df
    • Bjorn Helgaas's avatar
      Merge branch 'pci/controller/rcar' · 67b9ef22
      Bjorn Helgaas authored
      - Replace of_device.h with explicit of.h include to untangle header usage
        (Rob Herring)
      
      - Add DT and driver support for optional miniPCIe 1.5v and 3.3v regulators
        on KingFisher (Wolfram Sang)
      
      * pci/controller/rcar:
        PCI: rcar-host: Add support for optional regulators
        dt-bindings: PCI: rcar-pci-host: Add optional regulators
        PCI: rcar-gen4: Replace of_device.h with explicit of.h include
      67b9ef22
    • Bjorn Helgaas's avatar
      Merge branch 'pci/controller/mediatek' · 1b6069f5
      Bjorn Helgaas authored
      - Clear MSI interrupt status before handler to avoid missing MSIs that
        occur after the handler (qizhong cheng)
      
      - Update mediatek-gen3 translation window setup to handle MMIO space that
        is not a power of two in size (Jianjun Wang)
      
      * pci/controller/mediatek:
        PCI: mediatek-gen3: Fix translation window size calculation
        PCI: mediatek: Clear interrupt status before dispatching handler
      1b6069f5
    • Bjorn Helgaas's avatar
      Merge branch 'pci/controller/layerscape' · 1800c660
      Bjorn Helgaas authored
      - Add suspend/resume support for Layerscape LS1043a, including
        software-managed PME_Turn_Off and transitions between L0, L2/L3_Ready
        Link states (Frank Li)
      
      * pci/controller/layerscape:
        PCI: layerscape: Add suspend/resume for ls1043a
        PCI: layerscape(ep): Rename pf_* as pf_lut_*
        PCI: layerscape: Add suspend/resume for ls1021a
        PCI: layerscape: Add function pointer for exit_from_l2()
      1800c660
    • Bjorn Helgaas's avatar
      Merge branch 'pci/controller/kirin' · 921e097e
      Bjorn Helgaas authored
      - Use devm_kasprintf() to dynamically allocate clock names, removing need
        for an intermediate buffer (Christophe JAILLET)
      
      * pci/controller/kirin:
        PCI: kirin: Use devm_kasprintf() to dynamically allocate clock names
      921e097e
    • Bjorn Helgaas's avatar
      Merge branch 'pci/controller/keystone' · 186ce88c
      Bjorn Helgaas authored
      - Hold power management references to all PHYs while enabling them to avoid
        a race when one provides clocks to others (Siddharth Vadapalli)
      
      * pci/controller/keystone:
        PCI: keystone: Fix race condition when initializing PHYs
      186ce88c
    • Bjorn Helgaas's avatar
      Merge branch 'pci/controller/dwc' · 787c72b1
      Bjorn Helgaas authored
      - Convert fu740 CONFIG_PCIE_FU740 dependency from SOC_SIFIVE to ARCH_SIFIVE
        (Conor Dooley)
      
      - Align iATU mapping for endpoint MSI-X (Niklas Cassel)
      
      - Drop "host_" prefix from struct dw_pcie_host_ops members (Yoshihiro
        Shimoda)
      
      - Drop "ep_" prefix from struct dw_pcie_ep_ops members (Yoshihiro Shimoda)
      
      - Rename struct dw_pcie_ep_ops.func_conf_select() to .get_dbi_offset() to
        be more descriptive (Yoshihiro Shimoda)
      
      - Add Endpoint DBI accessors to encapsulate offset lookups (Yoshihiro
        Shimoda)
      
      - Cast iproc and rcar-gen4 of_device_get_match_data() results to uintptr_t
        to avoid clang "cast to smaller integer type" warnings (Justin Stitt,
        Yoshihiro Shimoda)
      
      * pci/controller/dwc:
        PCI: rcar-gen4: Fix -Wvoid-pointer-to-enum-cast error
        PCI: iproc: Fix -Wvoid-pointer-to-enum-cast warning
        PCI: dwc: Add dw_pcie_ep_{read,write}_dbi[2] helpers
        PCI: dwc: Rename .func_conf_select to .get_dbi_offset in struct dw_pcie_ep_ops
        PCI: dwc: Rename .ep_init to .init in struct dw_pcie_ep_ops
        PCI: dwc: Drop host prefix from struct dw_pcie_host_ops members
        PCI: dwc: endpoint: Fix dw_pcie_ep_raise_msix_irq() alignment support
        PCI: dwc: Convert SOC_SIFIVE to ARCH_SIFIVE
      787c72b1
    • Bjorn Helgaas's avatar
      Merge branch 'pci/controller/cadence' · 78fe51fc
      Bjorn Helgaas authored
      - Add j721e DT and driver support for 'num-lanes' for devices that support
        x1, x2, or x4 Links (Matt Ranostay)
      
      - Add j721e DT compatible strings and driver support for j784s4 (Matt Ranostay)
      
      - Make TI J721E Kconfig depend on ARCH_K3 since the hardware is specific to
        those TI SoC parts (Peter Robinson)
      
      * pci/controller/cadence:
        PCI: j721e: Make TI J721E depend on ARCH_K3
        PCI: j721e: Add TI J784S4 PCIe configuration
        PCI: j721e: Add PCIe 4x lane selection support
        PCI: j721e: Add per platform maximum lane settings
        dt-bindings: PCI: ti,j721e-pci-*: Add j784s4-pci-* compatible strings
        dt-bindings: PCI: ti,j721e-pci-*: Add checks for num-lanes
      78fe51fc
    • Bjorn Helgaas's avatar
      Merge branch 'pci/controller/broadcom' · 6f77f0ac
      Bjorn Helgaas authored
      - Add DT property "brcm,clkreq-mode" and driver support for different
        CLKREQ# modes (Jim Quinlan)
      
      * pci/controller/broadcom:
        PCI: brcmstb: Configure HW CLKREQ# mode appropriate for downstream device
        dt-bindings: PCI: brcmstb: Add property "brcm,clkreq-mode"
      6f77f0ac
    • Bjorn Helgaas's avatar
      Merge branch 'pci/virtualization' · c94df621
      Bjorn Helgaas authored
      - Add ACS quirk for more Zhaoxin Root Ports (LeoLiuoc)
      
      * pci/virtualization:
        PCI: Add ACS quirk for more Zhaoxin Root Ports
      c94df621
    • Bjorn Helgaas's avatar
      Merge branch 'pci/switchtec' · d6f5bcc2
      Bjorn Helgaas authored
      - Do dma_mrpc cleanup during switchtec_pci_remove() to match its devm
        ioremapping in switchtec_pci_probe().  Previously the cleanup was done in
        stdev_release(), which used stale pointers if stdev->cdev happened to be
        open when the PCI device was removed (Daniel Stodden)
      
      * pci/switchtec:
        PCI: switchtec: Fix stdev_release() crash after surprise hot remove
      d6f5bcc2
    • Bjorn Helgaas's avatar
      Merge branch 'pci/resource' · 5a4af2ca
      Bjorn Helgaas authored
      - Restructure pci_dev_for_each_resource() to avoid computing the address of
        an out-of-bounds array element (the bounds check was performed later so
        the element was never actually *read*, but it's nicer to avoid even
        computing an out-of-bounds address) (Andy Shevchenko)
      
      * pci/resource:
        PCI: Avoid potential out-of-bounds read in pci_dev_for_each_resource()
      5a4af2ca
    • Bjorn Helgaas's avatar
      Merge branch 'pci/p2pdma' · 18c3850f
      Bjorn Helgaas authored
      - Remove documentation for obsolete pci_p2pdma_map_sg() (Tadeusz Struk)
      
      * pci/p2pdma:
        PCI/P2PDMA: Remove reference to pci_p2pdma_map_sg()
      18c3850f
    • Bjorn Helgaas's avatar
      Merge branch 'pci/enumeration-logging' · 564af7a5
      Bjorn Helgaas authored
      - Log device type (Root Port, Switch Port, etc) during enumeration (Bjorn
        Helgaas)
      
      - Log resource names (BAR 0, VF BAR 0, bridge window, etc) consistently
        instead of a mix of names and "reg 0x10" (Puranjay Mohan, Bjorn Helgaas)
      
      - Log bridges before devices below the bridges (Bjorn Helgaas)
      
      * pci/enumeration-logging:
        PCI: Log bridge info when first enumerating bridge
        PCI: Log bridge windows conditionally
        PCI: Supply bridge device, not secondary bus, to read window details
        PCI: Move pci_read_bridge_windows() below individual window accessors
        PCI: Use resource names in PCI log messages
        PCI: Update BAR # and window messages
        PCI: Log device type during enumeration
      564af7a5
    • Bjorn Helgaas's avatar
      Merge branch 'pci/enumeration' · 78e5ad79
      Bjorn Helgaas authored
      - Convert pci-host-common.c platform .remove() callback to .remove_new()
        returning 'void' since it's not useful to return error codes here (Uwe
        Kleine-König)
      
      - Log a message about updating AMD USB controller class code (so dwc3, not
        xhci, claims it) only when we actually change it (Guilherme G.  Piccoli)
      
      - Use PCI_HEADER_TYPE_* instead of literals in x86, powerpc, SCSI lpfc
        (Ilpo Järvinen)
      
      - Clean up open-coded PCIBIOS return code mangling (Ilpo Järvinen)
      
      - Fix 64GT/s effective data rate calculation to use 1b/1b encoding rather
        than the 8b/10b or 128b/130b used by lower rates (Ilpo Järvinen)
      
      * pci/enumeration:
        PCI: Fix 64GT/s effective data rate calculation
        x86/pci: Clean up open-coded PCIBIOS return code mangling
        scsi: lpfc: Use PCI_HEADER_TYPE_MFD instead of literal
        powerpc/fsl-pci: Use PCI_HEADER_TYPE_MASK instead of literal
        x86/pci: Use PCI_HEADER_TYPE_* instead of literals
        PCI: Only override AMD USB controller if required
        PCI: host-generic: Convert to platform remove callback returning void
      78e5ad79
    • Bjorn Helgaas's avatar
      Merge branch 'pci/ecam' · 996e337f
      Bjorn Helgaas authored
      - Reserve ECAM if BIOS didn't include it in PNP0C02 _CRS (Bjorn Helgaas)
      
      - Add MMCONFIG/ECAM debug logging (Bjorn Helgaas)
      
      - Rename 'MMCONFIG' to 'ECAM' to match spec usage (Bjorn Helgaas)
      
      * pci/ecam:
        x86/pci: Reorder pci_mmcfg_arch_map() definition before calls
        x86/pci: Return pci_mmconfig_add() failure early
        x86/pci: Comment pci_mmconfig_insert() obscure MCFG dependency
        x86/pci: Rename pci_mmcfg_check_reserved() to pci_mmcfg_reserved()
        x86/pci: Rename acpi_mcfg_check_entry() to acpi_mcfg_valid_entry()
        x86/pci: Rename 'MMCONFIG' to 'ECAM', use pr_fmt
        x86/pci: Add MCFG debug logging
        x86/pci: Reword ECAM EfiMemoryMappedIO logging to avoid 'reserved'
        x86/pci: Reserve ECAM if BIOS didn't include it in PNP0C02 _CRS
      996e337f
    • Bjorn Helgaas's avatar
      Merge branch 'pci/aer' · f04e5285
      Bjorn Helgaas authored
      - Log AER errors as "Correctable" (not "Corrected") or "Uncorrectable" to
        match spec terminology (Bjorn Helgaas)
      
      - Decode Requester ID when no error info found instead of printing the raw
        hex value (Bjorn Helgaas)
      
      * pci/aer:
        PCI/AER: Use explicit register sizes for struct members
        PCI/AER: Decode Requester ID when no error info found
        PCI/AER: Use 'Correctable' and 'Uncorrectable' spec terms for errors
      f04e5285
    • Bjorn Helgaas's avatar
      PCI: Fix kernel-doc issues · 2db6b72c
      Bjorn Helgaas authored
      Fix kernel-doc issues reported by
      "find include -name \*pci\* | xargs scripts/kernel-doc -none":
      
        include/linux/pci.h:731: warning: Function parameter or member 'pdev' not described in 'pci_is_vga'
        include/linux/pci-epc.h:154: warning: Function parameter or member 'list_lock' not described in 'pci_epc'
        include/linux/pci-epf.h:83: warning: expecting prototype for struct pci_epf_event_ops. Prototype was for struct pci_epc_event_ops instead
      
      Link: https://lore.kernel.org/r/20240111162850.2177655-1-helgaas@kernel.orgTested-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Reviewed-by: default avatarManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
      Acked-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Acked-by: default avatarSui Jingfeng <suijingfeng@loongson.cn>
      2db6b72c
  2. 11 Jan, 2024 2 commits
  3. 09 Jan, 2024 3 commits
  4. 08 Jan, 2024 1 commit
  5. 06 Jan, 2024 9 commits