RE: [PATCH v14 0/17] PCI: imx6: refine codes and add the error propagation

From: Hongxing Zhu
Date: Thu Jul 14 2022 - 00:15:41 EST


> -----Original Message-----
> From: Bjorn Helgaas <helgaas@xxxxxxxxxx>
> Sent: 2022年7月14日 0:46
> To: Hongxing Zhu <hongxing.zhu@xxxxxxx>
> Cc: l.stach@xxxxxxxxxxxxxx; bhelgaas@xxxxxxxxxx; robh+dt@xxxxxxxxxx;
> broonie@xxxxxxxxxx; lorenzo.pieralisi@xxxxxxx; festevam@xxxxxxxxx;
> francesco.dolcini@xxxxxxxxxxx; linux-pci@xxxxxxxxxxxxxxx;
> linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> kernel@xxxxxxxxxxxxxx; dl-linux-imx <linux-imx@xxxxxxx>
> Subject: Re: [PATCH v14 0/17] PCI: imx6: refine codes and add the error
> propagation
>
> On Mon, Jul 11, 2022 at 05:29:59PM -0500, Bjorn Helgaas wrote:
> > On Fri, Jul 01, 2022 at 11:25:18AM +0800, Richard Zhu wrote:
> > > ...
>
> > > Bjorn Helgaas (5):
> > > PCI: imx6: Move imx6_pcie_grp_offset(), imx6_pcie_configure_type()
> > > earlier
> > > PCI: imx6: Move PHY management functions together
> > > PCI: imx6: Move imx6_pcie_enable_ref_clk() earlier
> > > PCI: imx6: Factor out ref clock disable to match enable
> > > PCI: imx6: Disable clocks in reverse order of enable
> > >
> > > Richard Zhu (12):
> > > PCI: imx6: Move imx6_pcie_clk_disable() earlier
> > > PCI: imx6: Collect clock enables in imx6_pcie_clk_enable()
> > > PCI: imx6: Propagate .host_init() errors to caller
> > > PCI: imx6: Disable i.MX6QDL clock when disabling ref clocks
> > > PCI: imx6: Call host init function directly in resume
> > > PCI: imx6: Turn off regulator when system is in suspend mode
> > > PCI: imx6: Move regulator enable out of
> > > imx6_pcie_deassert_core_reset()
> > > PCI: imx6: Mark the link down as non-fatal error
> > > PCI: imx6: Reduce resume time by only starting link if it was up
> > > before suspend
> > > PCI: imx6: Do not hide phy driver callbacks and refine the error
> > > handling
> > > PCI: imx6: Reformat suspend callback to keep symmetric with resume
> > > PCI: imx6: Move the imx6_pcie_ltssm_disable() earlier
> > >
> > > drivers/pci/controller/dwc/pci-imx6.c | 661
> > >
> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> +++++++
> > > +++++++++++++++++++++++++++++++++++++++++++++-----------------------
> > > --------------------------------------------------------------------
> > > ----
> > > 1 file changed, 358 insertions(+), 303 deletions(-)
> >
> > Applied to pci/ctrl/imx6 for v5.20, thanks a lot for all your work
> > here!
Hi Bjorn:
>
> I updated the branch with Lucas' acks and with the minor
> imx6_pcie_start_link() return value check he suggested.
>
Thanks a lot for your kindly help.

> I did not do anything about the missing IMX8MQ case in
> imx6_pcie_ltssm_disable() or the PHY init or regulator or shutdown issues. If
> you want changes there, please make them starting with the
> pci/ctrl/imx6 branch and I can just replace it:
>
>
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit.kern
> el.org%2Fpub%2Fscm%2Flinux%2Fkernel%2Fgit%2Fhelgaas%2Fpci.git%2Fcom
> mit%2F%3Fh%3Dpci%2Fctrl%2Fimx6%26id%3D7d652ce95e70&amp;data=05
> %7C01%7Chongxing.zhu%40nxp.com%7Cd0b3d82dae37495b2f7e08da64ef2a
> 3a%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C6379332756103
> 31009%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2lu
> MzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=Z8
> grlALYqs3ONJp1EQJsFJd8fD8XiE3zFXHuYlfE4TI%3D&amp;reserved=0
>
The following changes are applied.
Should I re-send all 17 patches out, or just the following five patches?

10/17
- Remove regulator_disable() from imx6_pcie_shutdown() and update the commit
log accordingly refer to Lucas' comments.
11/17
- Move the regulator enable before the PHY init and core reset assert to
avoid introducing more failure cleanup paths refer to Lucas' comments.
14/17 has the codes conflictions.
- Rebase the 14/17 patch because of the codes conflictions introduced by
previous 11/17 new changes.
16/17
- Add the missing the IMX8MQ case and drop the default case in
imx6_pcie_ltssm_disable() refer to Lucas' comments.
17/17
- Rebase the codes and resolve the codes conflictions introduced by
previous 11/17 new changes.
- Correct one failure cleanup in imx6_pcie_host_init().

Best Regards
Richard Zhu

> Bjorn