On Sat, Sep 14, 2019 at 7:37:54, Xiaowei Bao <[email protected]> wrote:
> > > > -----Original Message----- > > From: Gustavo Pimentel <[email protected]> > > Sent: 2019年9月12日 19:24 > > To: Andrew Murray <[email protected]>; Xiaowei Bao > > <[email protected]> > > Cc: [email protected]; [email protected]; [email protected]; Leo > > Li <[email protected]>; [email protected]; [email protected]; M.h. > > Lian <[email protected]>; Mingkai Hu <[email protected]>; Roy > > Zang <[email protected]>; [email protected]; > > [email protected]; [email protected]; > > [email protected]; [email protected]; > > [email protected]; [email protected]; > > [email protected]; [email protected]; Z.q. Hou > > <[email protected]> > > 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 <[email protected]> > > 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 <[email protected]> > > > > > > Reviewed-by: Andrew Murray <[email protected]> > > > > > > > --- > > > > 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 > > > > > >

