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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
> > > 



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux