Re: [PATCH v8 0/9] PCI: mediatek: fixup find_port, enable_msi and add PM, module support
From: Lorenzo Pieralisi
Date: Wed Oct 17 2018 - 11:20:05 EST
On Mon, Oct 15, 2018 at 04:08:51PM +0800, honghui.zhang@xxxxxxxxxxxx wrote:
> From: Honghui Zhang <honghui.zhang@xxxxxxxxxxxx>
>
> This patchset includes misc patchs:
>
> The patch 1 fixup the mtk_pcie_find_port logic which will cause system
> could not touch the EP's configuration space that connected to PCIe slot 1.
>
> The patch 2 fixup the class type for MT7622.
> The patch 6 fixup the enable msi logic, the operation to enable MSI
> should be after system clock is enabled. Call mtk_pcie_enable_msi in
> mtk_pcie_startup_port_v2 since the clock was all enabled at that time.
>
> The patch 7 was rebased and refactor of the v4 patch[1], changes are:
> -Add PM support for MT7622.
> -Using mtk_pcie_enable_port to re-establish the link when resumed.
> -Rebased on this patchset.
>
> The patch 9 add loadable kernel module support.
>
> [1] https://patchwork.kernel.org/patch/10479079
I have pushed out (after basically rewriting all commit logs and
squashing two patches) this version of the patchset to my pci/mediatek
branch for v4.20, keeping in mind that you must follow-up with Bjorn on
this patch:
https://patchwork.ozlabs.org/patch/984668/
that we shall still consider for v4.21.
Lorenzo
> Change since v7:
> - Add Acked-by tags from Ryder Lee.
> - Add Fix tags for patch 2(Fix calss type for MT7622 as PCI_CLASS_BRIDGE_PCI)
> and patch 6(Fixup enable MSI logic by enable MSI after clock enabled)
>
> Change since v6:
> - Remove the pci_unmap_iospace when remove the device since the
> devm_pci_remap_iospace is an devm_ version.
> - Commit message changed for patch 2(Fix class type for MT7622 as PCI_CLASS_BRIDGE_PCI).
> - Capitilizing "MSI" and "PM" in the patch title.
>
> Change since v5:
> - A bit improvement of mtk_pcie_find_port suggest by Lorenzo.
> MSI after clock enabled).
> - Add Acked-by tags from Ryder.
>
> Change since v4:
> - Add patch 2 to fixup class type for MT7622.
> - Add patch 3 to remove the redundant dev->pm_domain check
> - Add patch 4 to covert to use pci_host_probe
> - Add patch 5 to re-arrange the function define, this is a prepare patch for
> fixup the enable_msi logic, no functional changed have been made by this one.
> - Add patch 8 to save the GIC IRQ in mtk_pcie_port as a prepare patch for tear
> down the irq when remove the kernel module.
> - Re-arrange the find_port flow suggest by Lorenzo to make the code parse easier
> for the patch 1.
> - Remove the .pm_support in mtk_pcie_soc in patch 7 since if system pm was not
> supported, then those pm callbacks will never be executed for MT7622. So the
> .pm_support is not needed.
>
> Change since v3:
> - Remove pm_runtime_XXX ops in suspend and resume callbacks in the third patch.
> - Rebase to 4.19-rc1.
>
> Change since v2:
> - Fix the list_for_each_entry_safe parameter error.
> - Add Ryder's Acked-by flag.
>
> Change since v1:
> - A bit of code refact of the first patch suggested by Andy Shevchenko, and
> commit message updated.
>
> Honghui Zhang (9):
> PCI: mediatek: Using slot's devfn for compare to fix
> mtk_pcie_find_port logic
> PCI: mediatek: Fix class type for MT7622 as PCI_CLASS_BRIDGE_PCI
> PCI: mediatek: Remove the redundant dev->pm_domain check
> PCI: mediatek: Convert to use pci_host_probe()
> PCI: mediatek: Move the mtk_pcie_startup_port_v2 function's define
> after mtk_pcie_setup_irq
> PCI: mediatek: Fixup enable MSI logic by enable MSI after clock
> enabled
> PCI: mediatek: Add system PM support for MT2712 and MT7622
> PCI: mediatek: Save the GIC IRQ in mtk_pcie_port
> PCI: mediatek: Add loadable kernel module support
>
> drivers/pci/controller/Kconfig | 2 +-
> drivers/pci/controller/pcie-mediatek.c | 319 +++++++++++++++++++++------------
> 2 files changed, 204 insertions(+), 117 deletions(-)
>
> --
> 2.6.4
>