[PATCH v3 08/11] PCI: layerscape: Modify the MSIX to the doorbell mode

Gustavo Pimentel Gustavo.Pimentel at synopsys.com
Mon Sep 16 18:54:08 AEST 2019


On Sat, Sep 14, 2019 at 7:37:54, Xiaowei Bao <xiaowei.bao at nxp.com> wrote:

> 
> 
> > -----Original Message-----
> > From: Gustavo Pimentel <Gustavo.Pimentel at synopsys.com>
> > Sent: 2019年9月12日 19:24
> > To: Andrew Murray <andrew.murray at arm.com>; Xiaowei Bao
> > <xiaowei.bao at nxp.com>
> > Cc: robh+dt at kernel.org; mark.rutland at arm.com; shawnguo at kernel.org; Leo
> > Li <leoyang.li at nxp.com>; kishon at ti.com; lorenzo.pieralisi at arm.com; M.h.
> > Lian <minghuan.lian at nxp.com>; Mingkai Hu <mingkai.hu at nxp.com>; Roy
> > Zang <roy.zang at nxp.com>; jingoohan1 at gmail.com;
> > gustavo.pimentel at synopsys.com; linux-pci at vger.kernel.org;
> > devicetree at vger.kernel.org; linux-kernel at vger.kernel.org;
> > linux-arm-kernel at lists.infradead.org; linuxppc-dev at lists.ozlabs.org;
> > arnd at arndb.de; gregkh at linuxfoundation.org; Z.q. Hou
> > <zhiqiang.hou at nxp.com>
> > Subject: RE: [PATCH v3 08/11] PCI: layerscape: Modify the MSIX to the
> > doorbell mode
> > 
> > Hi,
> > 
> > Sorry for the delay I was in parental leave and I'm still trying not to drown in
> > the mailing list emails... 😊
> > 
> > On Mon, Sep 2, 2019 at 13:1:47, Andrew Murray <andrew.murray at arm.com>
> > wrote:
> > 
> > > On Mon, Sep 02, 2019 at 11:17:13AM +0800, Xiaowei Bao wrote:
> > > > dw_pcie_ep_raise_msix_irq was never called in the exisitng driver
> > > > before, because the ls1046a platform don't support the MSIX feature
> > > > and msix_capable was always set to false.
> > > > Now that add the ls1088a platform with MSIX support, but the
> > > > existing dw_pcie_ep_raise_msix_irq doesn't work, so use the doorbell
> > > > method to support the MSIX feature.
> > 
> > Hum... the implementation of msix implementation did work on my use case,
> > however, at the time the setup used for developing and testing the
> > implementation only had one PF (by default 0). Perhaps this could was is
> > causing the different behavior between our setups.
> > 
> > You have more than one PF, right?
> 
> Yes, I have two PFs.

Probably that's the reason why my MSI-X raise function implementation 
didn't work on your case.

> 
> Thanks
> Xiaowei
> 
> > 
> > If I remember correctly, msix feature support entered on kernel 4.19 version
> > and it worked quite well at the time, but I didn't test since there (I've to
> > manage time to be able to retest it again), I'm didn't seen any patch that
> > could interfere with this.
> > 
> > Regards,
> > Gustavo
> > 
> > 
> > > >
> > > > Signed-off-by: Xiaowei Bao <xiaowei.bao at nxp.com>
> > >
> > > Reviewed-by: Andrew Murray <andrew.murray at arm.com>
> > >
> > > > ---
> > > > v2:
> > > >  - No change
> > > > v3:
> > > >  - Modify the commit message make it clearly.
> > > >
> > > >  drivers/pci/controller/dwc/pci-layerscape-ep.c | 3 ++-
> > > >  1 file changed, 2 insertions(+), 1 deletion(-)
> > > >
> > > > diff --git a/drivers/pci/controller/dwc/pci-layerscape-ep.c
> > > > b/drivers/pci/controller/dwc/pci-layerscape-ep.c
> > > > index 1e07287..5f0cb99 100644
> > > > --- a/drivers/pci/controller/dwc/pci-layerscape-ep.c
> > > > +++ b/drivers/pci/controller/dwc/pci-layerscape-ep.c
> > > > @@ -79,7 +79,8 @@ static int ls_pcie_ep_raise_irq(struct dw_pcie_ep
> > *ep, u8 func_no,
> > > >  	case PCI_EPC_IRQ_MSI:
> > > >  		return dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num);
> > > >  	case PCI_EPC_IRQ_MSIX:
> > > > -		return dw_pcie_ep_raise_msix_irq(ep, func_no, interrupt_num);
> > > > +		return dw_pcie_ep_raise_msix_irq_doorbell(ep, func_no,
> > > > +							  interrupt_num);
> > > >  	default:
> > > >  		dev_err(pci->dev, "UNKNOWN IRQ type\n");
> > > >  		return -EINVAL;
> > > > --
> > > > 2.9.5
> > > >
> > 




More information about the Linuxppc-dev mailing list