]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
PCI: imx6: Remove imx_pcie_cpu_addr_fixup()
authorFrank Li <Frank.Li@nxp.com>
Sat, 15 Mar 2025 20:15:48 +0000 (15:15 -0500)
committerBjorn Helgaas <bhelgaas@google.com>
Mon, 24 Mar 2025 19:58:34 +0000 (14:58 -0500)
Remove imx_pcie_cpu_addr_fixup, the .cpu_addr_fixup() method, because the
dwc core driver already handles address translation based on the devicetree
description.

Link: https://lore.kernel.org/r/20250315201548.858189-14-helgaas@kernel.org
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Acked-by: Richard Zhu <hongxing.zhu@nxp.com>
drivers/pci/controller/dwc/pci-imx6.c

index 90ace941090f90d8b95abe5c979a794638b88255..d1eb535df73e1db0badd981dbd8ba7938c03a02a 100644 (file)
@@ -1217,22 +1217,6 @@ static void imx_pcie_host_exit(struct dw_pcie_rp *pp)
                regulator_disable(imx_pcie->vpcie);
 }
 
-static u64 imx_pcie_cpu_addr_fixup(struct dw_pcie *pcie, u64 cpu_addr)
-{
-       struct imx_pcie *imx_pcie = to_imx_pcie(pcie);
-       struct dw_pcie_rp *pp = &pcie->pp;
-       struct resource_entry *entry;
-
-       if (!(imx_pcie->drvdata->flags & IMX_PCIE_FLAG_CPU_ADDR_FIXUP))
-               return cpu_addr;
-
-       entry = resource_list_first_type(&pp->bridge->windows, IORESOURCE_MEM);
-       if (!entry)
-               return cpu_addr;
-
-       return cpu_addr - entry->offset;
-}
-
 /*
  * In old DWC implementations, PCIE_ATU_INHIBIT_PAYLOAD in iATU Ctrl2
  * register is reserved, so the generic DWC implementation of sending the
@@ -1263,7 +1247,6 @@ static const struct dw_pcie_host_ops imx_pcie_host_dw_pme_ops = {
 static const struct dw_pcie_ops dw_pcie_ops = {
        .start_link = imx_pcie_start_link,
        .stop_link = imx_pcie_stop_link,
-       .cpu_addr_fixup = imx_pcie_cpu_addr_fixup,
 };
 
 static void imx_pcie_ep_init(struct dw_pcie_ep *ep)
@@ -1645,6 +1628,7 @@ static int imx_pcie_probe(struct platform_device *pdev)
        if (ret)
                return ret;
 
+       pci->use_parent_dt_ranges = true;
        if (imx_pcie->drvdata->mode == DW_PCIE_EP_TYPE) {
                ret = imx_add_pcie_ep(imx_pcie, pdev);
                if (ret < 0)