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 5ae87e8ffb855fc53c360004cd9f7f388dceef35..25767a334259f61352fad94567510706d27ada55 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);