Messages in this thread Patch in this message | | | From | Jiaxun Yang <> | Subject | [PATCH v3 1/5] PCI: OF: Don't remap iospace on unsupported platform | Date | Mon, 13 Apr 2020 13:32:09 +0800 |
| |
There are some platforms doesn't support iospace remapping like MIPS. However, our PCI code will try to remap iospace unconditionally and reject io resources on these platforms.
So we should remove iospace remapping check and use a range check instead on these platforms.
Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com> --- drivers/pci/of.c | 9 +++++++++ 1 file changed, 9 insertions(+)
diff --git a/drivers/pci/of.c b/drivers/pci/of.c index 81ceeaa6f1d5..36e8761b66c6 100644 --- a/drivers/pci/of.c +++ b/drivers/pci/of.c @@ -547,12 +547,21 @@ int pci_parse_request_of_pci_ranges(struct device *dev, switch (resource_type(res)) { case IORESOURCE_IO: +#if defined(PCI_IOBASE) && defined(CONFIG_MMU) err = devm_pci_remap_iospace(dev, res, iobase); if (err) { dev_warn(dev, "error %d: failed to map resource %pR\n", err, res); resource_list_destroy_entry(win); } +#else + /* Simply check if IO is inside the range */ + if (res->end > IO_SPACE_LIMIT) { + dev_warn(dev, "resource %pR out of the IO range\n", + res); + resource_list_destroy_entry(win); + } +#endif break; case IORESOURCE_MEM: res_valid |= !(res->flags & IORESOURCE_PREFETCH); -- 2.26.0.rc2
| |