> -----Original Message----- > From: Frank Li <frank.li@xxxxxxx> > Sent: 2024年10月30日 0:37 > To: Rob Herring <robh@xxxxxxxxxx>; Saravana Kannan > <saravanak@xxxxxxxxxx>; Jingoo Han <jingoohan1@xxxxxxxxx>; > Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>; Lorenzo > Pieralisi <lpieralisi@xxxxxxxxxx>; Krzysztof Wilczyński <kw@xxxxxxxxx>; Bjorn > Helgaas <bhelgaas@xxxxxxxxxx>; Hongxing Zhu <hongxing.zhu@xxxxxxx>; > Lucas Stach <l.stach@xxxxxxxxxxxxxx>; Shawn Guo <shawnguo@xxxxxxxxxx>; > Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>; Pengutronix Kernel Team > <kernel@xxxxxxxxxxxxxx>; Fabio Estevam <festevam@xxxxxxxxx> > Cc: devicetree@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; > linux-pci@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; > imx@xxxxxxxxxxxxxxx; Frank Li <frank.li@xxxxxxx> > Subject: [PATCH v7 4/7] PCI: imx6: Remove cpu_addr_fixup() > > Remove cpu_addr_fixup() because dwc common driver already handle > address translate. > > Signed-off-by: Frank Li <Frank.Li@xxxxxxx> Acked-by: Richard Zhu <hongxing.zhu@xxxxxxx> Best Regards Richard Zhu > --- > Change from v2 to v7 > - none > Change from v1 to v2 > - set using_dtbus_info true > --- > drivers/pci/controller/dwc/pci-imx6.c | 22 ++-------------------- > 1 file changed, 2 insertions(+), 20 deletions(-) > > diff --git a/drivers/pci/controller/dwc/pci-imx6.c > b/drivers/pci/controller/dwc/pci-imx6.c > index 808d1f1054173..533905b3942a1 100644 > --- a/drivers/pci/controller/dwc/pci-imx6.c > +++ b/drivers/pci/controller/dwc/pci-imx6.c > @@ -81,7 +81,6 @@ enum imx_pcie_variants { > #define IMX_PCIE_FLAG_HAS_PHY_RESET BIT(5) > #define IMX_PCIE_FLAG_HAS_SERDES BIT(6) > #define IMX_PCIE_FLAG_SUPPORT_64BIT BIT(7) > -#define IMX_PCIE_FLAG_CPU_ADDR_FIXUP BIT(8) > > #define imx_check_flag(pci, val) (pci->drvdata->flags & val) > > @@ -1012,22 +1011,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; > -} > - > static const struct dw_pcie_host_ops imx_pcie_host_ops = { > .init = imx_pcie_host_init, > .deinit = imx_pcie_host_exit, > @@ -1036,7 +1019,6 @@ static const struct dw_pcie_host_ops > imx_pcie_host_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) @@ -1446,6 +1428,7 > @@ static int imx_pcie_probe(struct platform_device *pdev) > if (ret) > return ret; > > + pci->using_dtbus_info = true; > if (imx_pcie->drvdata->mode == DW_PCIE_EP_TYPE) { > ret = imx_add_pcie_ep(imx_pcie, pdev); > if (ret < 0) > @@ -1585,8 +1568,7 @@ static const struct imx_pcie_drvdata drvdata[] = { > }, > [IMX8Q] = { > .variant = IMX8Q, > - .flags = IMX_PCIE_FLAG_HAS_PHYDRV | > - IMX_PCIE_FLAG_CPU_ADDR_FIXUP, > + .flags = IMX_PCIE_FLAG_HAS_PHYDRV, > .clk_names = imx8q_clks, > .clks_cnt = ARRAY_SIZE(imx8q_clks), > }, > > -- > 2.34.1