RE: [PATCH v1 1/2] PCI: dwc: Invoke post_init in dw_pcie_resume_noirq()
From: Hongxing Zhu
Date: Thu Aug 21 2025 - 01:49:30 EST
> -----Original Message-----
> From: Bjorn Helgaas <helgaas@xxxxxxxxxx>
> Sent: 2025年8月20日 23:58
> To: Hongxing Zhu <hongxing.zhu@xxxxxxx>
> Cc: Frank Li <frank.li@xxxxxxx>; l.stach@xxxxxxxxxxxxxx;
> lpieralisi@xxxxxxxxxx; kwilczynski@xxxxxxxxxx; mani@xxxxxxxxxx;
> robh@xxxxxxxxxx; bhelgaas@xxxxxxxxxx; shawnguo@xxxxxxxxxx;
> s.hauer@xxxxxxxxxxxxxx; kernel@xxxxxxxxxxxxxx; festevam@xxxxxxxxx;
> linux-pci@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx;
> imx@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH v1 1/2] PCI: dwc: Invoke post_init in
> dw_pcie_resume_noirq()
>
> On Wed, Aug 20, 2025 at 04:10:47PM +0800, Richard Zhu wrote:
> > If the ops has post_init callback, invoke it in dw_pcie_resume_noirq().
>
> Can you briefly explain why .post_init() is required here? Bread crumbs
> about the purpose of .post_init() will help other driver writers (and me!)
To enable L1SS if it's possible, the clkreq# override active low should be
cleared at the end of dw_pcie_resume_noirq().
Best Regards
Richard Zhu
>
> > Signed-off-by: Richard Zhu <hongxing.zhu@xxxxxxx>
> > ---
> > drivers/pci/controller/dwc/pcie-designware-host.c | 3 +++
> > 1 file changed, 3 insertions(+)
> >
> > diff --git a/drivers/pci/controller/dwc/pcie-designware-host.c
> > b/drivers/pci/controller/dwc/pcie-designware-host.c
> > index 952f8594b5012..f24f4cd5c278f 100644
> > --- a/drivers/pci/controller/dwc/pcie-designware-host.c
> > +++ b/drivers/pci/controller/dwc/pcie-designware-host.c
> > @@ -1079,6 +1079,9 @@ int dw_pcie_resume_noirq(struct dw_pcie *pci)
> > if (ret)
> > return ret;
> >
> > + if (pci->pp.ops->post_init)
> > + pci->pp.ops->post_init(&pci->pp);
> > +
> > return ret;
> > }
> > EXPORT_SYMBOL_GPL(dw_pcie_resume_noirq);
> > --
> > 2.37.1
> >