PCI: designware-ep: Move the function of getting MSI capability forward
authorXiaowei Bao <xiaowei.bao@nxp.com>
Fri, 18 Sep 2020 08:00:15 +0000 (16:00 +0800)
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Mon, 21 Sep 2020 10:46:04 +0000 (11:46 +0100)
Move the function of getting MSI capability to the front of init
function, because the init function of the EP platform driver will use
the return value by the function of getting MSI capability.

Link: https://lore.kernel.org/r/20200918080024.13639-4-Zhiqiang.Hou@nxp.com
Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: Andrew Murray <andrew.murray@arm.com>
drivers/pci/controller/dwc/pcie-designware-ep.c

index 5ae87e8..25767a3 100644 (file)
@@ -582,10 +582,6 @@ int dw_pcie_ep_init_complete(struct dw_pcie_ep *ep)
                return -EIO;
        }
 
-       ep->msi_cap = dw_pcie_find_capability(pci, PCI_CAP_ID_MSI);
-
-       ep->msix_cap = dw_pcie_find_capability(pci, PCI_CAP_ID_MSIX);
-
        offset = dw_pcie_ep_find_ext_capability(pci, PCI_EXT_CAP_ID_REBAR);
 
        dw_pcie_dbi_ro_wr_en(pci);
@@ -677,6 +673,10 @@ int dw_pcie_ep_init(struct dw_pcie_ep *ep)
        if (ret < 0)
                epc->max_functions = 1;
 
+       ep->msi_cap = dw_pcie_find_capability(pci, PCI_CAP_ID_MSI);
+
+       ep->msix_cap = dw_pcie_find_capability(pci, PCI_CAP_ID_MSIX);
+
        if (ep->ops->ep_init)
                ep->ops->ep_init(ep);