Re: [PATCH V3 4/5] PCI: dwc: Add API to notify core initialization completion

From: Lorenzo Pieralisi
Date: Mon Feb 24 2020 - 09:32:24 EST


On Mon, Feb 24, 2020 at 05:50:26PM +0530, Vidya Sagar wrote:
>
>
> On 2/24/2020 5:02 PM, Lorenzo Pieralisi wrote:
> > External email: Use caution opening links or attachments
> >
> >
> > On Mon, Feb 17, 2020 at 05:40:35PM +0530, Vidya Sagar wrote:
> > > Add a new API dw_pcie_ep_init_notify() to let platform drivers
> > > call it when the core is available for initialization.
> > >
> > > Signed-off-by: Vidya Sagar <vidyas@xxxxxxxxxx>
> > > Acked-by: Kishon Vijay Abraham I <kishon@xxxxxx>
> > > ---
> > > V3:
> > > * Added Acked-by: Kishon Vijay Abraham I <kishon@xxxxxx>
> > >
> > > V2:
> > > * None
> > >
> > > drivers/pci/controller/dwc/pcie-designware-ep.c | 7 +++++++
> > > drivers/pci/controller/dwc/pcie-designware.h | 5 +++++
> > > 2 files changed, 12 insertions(+)
> > >
> > > diff --git a/drivers/pci/controller/dwc/pcie-designware-ep.c b/drivers/pci/controller/dwc/pcie-designware-ep.c
> > > index 84a102df9f62..dfbb806c25bf 100644
> > > --- a/drivers/pci/controller/dwc/pcie-designware-ep.c
> > > +++ b/drivers/pci/controller/dwc/pcie-designware-ep.c
> > > @@ -19,6 +19,13 @@ void dw_pcie_ep_linkup(struct dw_pcie_ep *ep)
> > > pci_epc_linkup(epc);
> > > }
> > >
> > > +void dw_pcie_ep_init_notify(struct dw_pcie_ep *ep)
> > > +{
> > > + struct pci_epc *epc = ep->epc;
> > > +
> > > + pci_epc_init_notify(epc);
> > > +}
> >
> > Do we really need this wrapper ? I would drop this code and I would
> > appreciate if you could post tegra changes benefiting from this
> > series, at the moment I don't see any user of this newly added
> > infrastructure.
> I've posted that series also for review
> @ http://patchwork.ozlabs.org/project/linux-pci/list/?series=152889
> Sorry if I have to create explicit dependency by some means. I'm not
> aware of that and would like to know if that exists. All that I did was
> to mention this as a dependency for the other (Tegra change) series.

No worries - I just want to merge code that is actually used, I assume
the series above should be reposted right ? You need an ACK from Thierry
for it and we can merge the whole thing on top of Kishon's patches.

I was just referring to the wrapper above, it does not seem very
useful given that we can call pci_epc_init_notify() directly,
please correct me if I am wrong, there does not seem to be anything
DWC specific (at least for the time being) in the _notify() hook.

Thanks,
Lorenzo

>
> Thanks,
> Vidya Sagar
>
> >
> > Thanks,
> > Lorenzo
> >
> > > static void __dw_pcie_ep_reset_bar(struct dw_pcie *pci, enum pci_barno bar,
> > > int flags)
> > > {
> > > diff --git a/drivers/pci/controller/dwc/pcie-designware.h b/drivers/pci/controller/dwc/pcie-designware.h
> > > index b67b7f756bc2..aa98fbd50807 100644
> > > --- a/drivers/pci/controller/dwc/pcie-designware.h
> > > +++ b/drivers/pci/controller/dwc/pcie-designware.h
> > > @@ -412,6 +412,7 @@ static inline int dw_pcie_allocate_domains(struct pcie_port *pp)
> > > void dw_pcie_ep_linkup(struct dw_pcie_ep *ep);
> > > int dw_pcie_ep_init(struct dw_pcie_ep *ep);
> > > int dw_pcie_ep_init_complete(struct dw_pcie_ep *ep);
> > > +void dw_pcie_ep_init_notify(struct dw_pcie_ep *ep);
> > > void dw_pcie_ep_exit(struct dw_pcie_ep *ep);
> > > int dw_pcie_ep_raise_legacy_irq(struct dw_pcie_ep *ep, u8 func_no);
> > > int dw_pcie_ep_raise_msi_irq(struct dw_pcie_ep *ep, u8 func_no,
> > > @@ -434,6 +435,10 @@ static inline int dw_pcie_ep_init_complete(struct dw_pcie_ep *ep)
> > > return 0;
> > > }
> > >
> > > +static inline void dw_pcie_ep_init_notify(struct dw_pcie_ep *ep)
> > > +{
> > > +}
> > > +
> > > static inline void dw_pcie_ep_exit(struct dw_pcie_ep *ep)
> > > {
> > > }
> > > --
> > > 2.17.1
> > >