]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
PCI: imx6: Fetch dbi2 and iATU base addesses from DT
authorRichard Zhu <hongxing.zhu@nxp.com>
Tue, 26 Nov 2024 07:56:55 +0000 (15:56 +0800)
committerBjorn Helgaas <bhelgaas@google.com>
Thu, 16 Jan 2025 20:22:07 +0000 (14:22 -0600)
Since dw_pcie_get_resources() gets the dbi2 and iATU base addresses from
DT, remove the code from the imx6 driver that does the same.

Upstream DTSes have not enabled Endpoint function. So nothing is broken for
old upstream DTBs.

Link: https://lore.kernel.org/r/20241126075702.4099164-4-hongxing.zhu@nxp.com
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Signed-off-by: Krzysztof WilczyƄski <kwilczynski@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
drivers/pci/controller/dwc/pci-imx6.c

index 59d3ce6f9e9bef63689c61f06e8444f35ff15e7f..555f562867899e1943f77ac818688293e2a26dfe 100644 (file)
@@ -1132,7 +1132,6 @@ static int imx_add_pcie_ep(struct imx_pcie *imx_pcie,
                           struct platform_device *pdev)
 {
        int ret;
-       unsigned int pcie_dbi2_offset;
        struct dw_pcie_ep *ep;
        struct dw_pcie *pci = imx_pcie->pci;
        struct dw_pcie_rp *pp = &pci->pp;
@@ -1142,28 +1141,6 @@ static int imx_add_pcie_ep(struct imx_pcie *imx_pcie,
        ep = &pci->ep;
        ep->ops = &pcie_ep_ops;
 
-       switch (imx_pcie->drvdata->variant) {
-       case IMX8MQ_EP:
-       case IMX8MM_EP:
-       case IMX8MP_EP:
-               pcie_dbi2_offset = SZ_1M;
-               break;
-       default:
-               pcie_dbi2_offset = SZ_4K;
-               break;
-       }
-
-       pci->dbi_base2 = pci->dbi_base + pcie_dbi2_offset;
-
-       /*
-        * FIXME: Ideally, dbi2 base address should come from DT. But since only IMX95 is defining
-        * "dbi2" in DT, "dbi_base2" is set to NULL here for that platform alone so that the DWC
-        * core code can fetch that from DT. But once all platform DTs were fixed, this and the
-        * above "dbi_base2" setting should be removed.
-        */
-       if (device_property_match_string(dev, "reg-names", "dbi2") >= 0)
-               pci->dbi_base2 = NULL;
-
        if (imx_check_flag(imx_pcie, IMX_PCIE_FLAG_SUPPORT_64BIT))
                dma_set_mask_and_coherent(dev, DMA_BIT_MASK(64));