| From 1f01331bce164d5e87824c89b472aea51815cb87 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 14 Jun 2021 12:06:17 +0200 |
| Subject: staging: mt7621-dts: fix pci address for PCI memory range |
| |
| From: Sergio Paracuellos <sergio.paracuellos@gmail.com> |
| |
| [ Upstream commit 5b4f167ef3555ec4c334a8dc89c1b44bb2c6bff5 ] |
| |
| Driver code call 'devm_of_pci_get_host_bridge_resources' |
| to get resources and properly fill 'bridge->windows' and |
| 'bridge->dma_ranges'. After parsing the ranges and store |
| as resources, at the end it makes a call to pci function |
| 'pci_add_resource_offset' to set the offset for the |
| memory resource. To calculate offset, resource start address |
| subtracts pci address of the range. MT7621 does not need |
| any offset for the memory resource. Moreover, setting an |
| offset got into 'WARN_ON' calls from pci devices driver code. |
| Until now memory range pci_addr was being '0x00000000' and |
| res->start is '0x60000000' but becase pci controller driver |
| was manually setting resources and adding them using pci function |
| 'pci_add_resource' where a zero is passed as offset, things |
| was properly working. Since PCI_IOBASE is defined now for |
| ralink we don't set nothing manually anymore so we have to |
| properly fix PCI address for this range to make things work |
| and the new pci address must be set to '0x60000000'. Doing |
| in this way the subtract result obtain zero as offset |
| and pci device driver code properly works. |
| |
| Fixes: d59578da2bb8 ("staging: mt7621-dts: add dts files") |
| Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com> |
| Link: https://lore.kernel.org/r/20210614100617.28753-4-sergio.paracuellos@gmail.com |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/staging/mt7621-dts/mt7621.dtsi | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/drivers/staging/mt7621-dts/mt7621.dtsi b/drivers/staging/mt7621-dts/mt7621.dtsi |
| index 82aa93634eda..27222f7b246f 100644 |
| --- a/drivers/staging/mt7621-dts/mt7621.dtsi |
| +++ b/drivers/staging/mt7621-dts/mt7621.dtsi |
| @@ -519,7 +519,7 @@ |
| |
| bus-range = <0 255>; |
| ranges = < |
| - 0x02000000 0 0x00000000 0x60000000 0 0x10000000 /* pci memory */ |
| + 0x02000000 0 0x60000000 0x60000000 0 0x10000000 /* pci memory */ |
| 0x01000000 0 0x00000000 0x1e160000 0 0x00010000 /* io space */ |
| >; |
| |
| -- |
| 2.30.2 |
| |