Thread (42 messages) 42 messages, 4 authors, 2019-09-26

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

From: Xiaowei Bao <hidden>
Date: 2019-09-14 06:38:02
Also in: linux-devicetree, linux-pci, linuxppc-dev, lkml

-----Original Message-----
From: Gustavo Pimentel <redacted>
Sent: 2019年9月12日 19:24
To: Andrew Murray <redacted>; Xiaowei Bao
[off-list ref]
Cc: robh+dt@kernel.org; mark.rutland@arm.com; shawnguo@kernel.org; Leo
Li [off-list ref]; kishon@ti.com; lorenzo.pieralisi@arm.com; M.h.
Lian [off-list ref]; Mingkai Hu [off-list ref]; Roy
Zang [off-list ref]; jingoohan1@gmail.com;
gustavo.pimentel@synopsys.com; linux-pci@vger.kernel.org;
devicetree@vger.kernel.org; linux-kernel@vger.kernel.org;
linux-arm-kernel@lists.infradead.org; linuxppc-dev@lists.ozlabs.org;
arnd@arndb.de; gregkh@linuxfoundation.org; Z.q. Hou
[off-list ref]
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 [off-list ref]
wrote:
quoted
On Mon, Sep 02, 2019 at 11:17:13AM +0800, Xiaowei Bao wrote:
quoted
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.

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

quoted
quoted
Signed-off-by: Xiaowei Bao <redacted>
Reviewed-by: Andrew Murray <redacted>
quoted
---
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,
quoted
quoted
 	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
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help