Messages in this thread Patch in this message | | | From | Ilya Lipnitskiy <> | Subject | [PATCH] staging: mt7621-pci: stop using of_pci_range_to_resource | Date | Sat, 10 Apr 2021 10:33:31 -0700 |
| |
The logic here was already overriding the erroneous IO addresses returned from of_pci_range_to_resource, which is the bulk of the logic.
So stop using it altogether and initialize the fields explicitly, as done in aeba3731b150 ("powerpc/pci: Fix IO space breakage after of_pci_range_to_resource() change").
Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com> Cc: Sergio Paracuellos <sergio.paracuellos@gmail.com> --- drivers/staging/mt7621-pci/pci-mt7621.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/drivers/staging/mt7621-pci/pci-mt7621.c b/drivers/staging/mt7621-pci/pci-mt7621.c index 1781c1dcf5b4..115250115f10 100644 --- a/drivers/staging/mt7621-pci/pci-mt7621.c +++ b/drivers/staging/mt7621-pci/pci-mt7621.c @@ -301,18 +301,19 @@ static int mt7621_pci_parse_request_of_pci_ranges(struct pci_host_bridge *host) /* * IO_SPACE_LIMIT for MIPS is 0xffff but this platform uses IO at - * upper address 0x001e160000 so we have to get the resource from - * the DT because when it has been requested it failed and has been - * removed from bridge->dma_ranges and bridge->windows. So parse it - * and remap it manually to make things work. + * upper address 0x001e160000. of_pci_range_to_resource does not work + * well for MIPS platforms that don't define PCI_IOBASE, so set the IO + * resource manually instead. */ + pcie->io.name = node->full_name; + pcie->io.parent = pcie->io.child = pcie->io.sibling = NULL; for_each_of_pci_range(&parser, &range) { switch (range.flags & IORESOURCE_TYPE_BITS) { case IORESOURCE_IO: pcie->io_map_base = (unsigned long)ioremap(range.cpu_addr, range.size); - of_pci_range_to_resource(&range, node, &pcie->io); + pcie->io.flags = range.flags; pcie->io.start = range.cpu_addr; pcie->io.end = range.cpu_addr + range.size - 1; set_io_port_base(pcie->io_map_base); -- 2.31.1
| |