@@ -1217,22 +1217,6 @@ static void imx_pcie_host_exit(struct dw_pcie_rp *pp)
1217
1217
regulator_disable (imx_pcie -> vpcie );
1218
1218
}
1219
1219
1220
- static u64 imx_pcie_cpu_addr_fixup (struct dw_pcie * pcie , u64 cpu_addr )
1221
- {
1222
- struct imx_pcie * imx_pcie = to_imx_pcie (pcie );
1223
- struct dw_pcie_rp * pp = & pcie -> pp ;
1224
- struct resource_entry * entry ;
1225
-
1226
- if (!(imx_pcie -> drvdata -> flags & IMX_PCIE_FLAG_CPU_ADDR_FIXUP ))
1227
- return cpu_addr ;
1228
-
1229
- entry = resource_list_first_type (& pp -> bridge -> windows , IORESOURCE_MEM );
1230
- if (!entry )
1231
- return cpu_addr ;
1232
-
1233
- return cpu_addr - entry -> offset ;
1234
- }
1235
-
1236
1220
/*
1237
1221
* In old DWC implementations, PCIE_ATU_INHIBIT_PAYLOAD in iATU Ctrl2
1238
1222
* 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 = {
1263
1247
static const struct dw_pcie_ops dw_pcie_ops = {
1264
1248
.start_link = imx_pcie_start_link ,
1265
1249
.stop_link = imx_pcie_stop_link ,
1266
- .cpu_addr_fixup = imx_pcie_cpu_addr_fixup ,
1267
1250
};
1268
1251
1269
1252
static void imx_pcie_ep_init (struct dw_pcie_ep * ep )
@@ -1645,6 +1628,7 @@ static int imx_pcie_probe(struct platform_device *pdev)
1645
1628
if (ret )
1646
1629
return ret ;
1647
1630
1631
+ pci -> use_parent_dt_ranges = true;
1648
1632
if (imx_pcie -> drvdata -> mode == DW_PCIE_EP_TYPE ) {
1649
1633
ret = imx_add_pcie_ep (imx_pcie , pdev );
1650
1634
if (ret < 0 )
0 commit comments