Re: [PATCH v3] PCI: dwc: move dw_pcie_msi_init() to dw_pcie_setup_rc()

2021-04-15 Thread Lorenzo Pieralisi
On Thu, 25 Mar 2021 15:26:04 +0800, Jisheng Zhang wrote:
> If the host which makes use of IP's integrated MSI Receiver losts
> power during suspend, we need to reinit the RC and MSI Receiver in
> resume. But after we move dw_pcie_msi_init() into the core, we have no
> API to do so. Usually the dwc users need to call dw_pcie_setup_rc() to
> reinit the RC, we can solve this problem by moving dw_pcie_msi_init()
> to dw_pcie_setup_rc().

Applied to pci/dwc, thanks!

[1/1] PCI: dwc: Move dw_pcie_msi_init() to dw_pcie_setup_rc()
  https://git.kernel.org/lpieralisi/pci/c/fe08db2835

Thanks,
Lorenzo


[PATCH v3] PCI: dwc: move dw_pcie_msi_init() to dw_pcie_setup_rc()

2021-03-25 Thread Jisheng Zhang
If the host which makes use of IP's integrated MSI Receiver losts
power during suspend, we need to reinit the RC and MSI Receiver in
resume. But after we move dw_pcie_msi_init() into the core, we have no
API to do so. Usually the dwc users need to call dw_pcie_setup_rc() to
reinit the RC, we can solve this problem by moving dw_pcie_msi_init()
to dw_pcie_setup_rc().

Reviewed-by: Rob Herring 
Signed-off-by: Jisheng Zhang 
---
Since v2:
 - rewrite the commit msg

Since v1:
 - collect Reviewed-by tag

 drivers/pci/controller/dwc/pcie-designware-host.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/pci/controller/dwc/pcie-designware-host.c 
b/drivers/pci/controller/dwc/pcie-designware-host.c
index 7e55b2b66182..e6c274f4485c 100644
--- a/drivers/pci/controller/dwc/pcie-designware-host.c
+++ b/drivers/pci/controller/dwc/pcie-designware-host.c
@@ -400,7 +400,6 @@ int dw_pcie_host_init(struct pcie_port *pp)
}
 
dw_pcie_setup_rc(pp);
-   dw_pcie_msi_init(pp);
 
if (!dw_pcie_link_up(pci) && pci->ops && pci->ops->start_link) {
ret = pci->ops->start_link(pci);
@@ -551,6 +550,8 @@ void dw_pcie_setup_rc(struct pcie_port *pp)
}
}
 
+   dw_pcie_msi_init(pp);
+
/* Setup RC BARs */
dw_pcie_writel_dbi(pci, PCI_BASE_ADDRESS_0, 0x0004);
dw_pcie_writel_dbi(pci, PCI_BASE_ADDRESS_1, 0x);
-- 
2.30.1