]> git.baikalelectronics.ru Git - kernel.git/commit
staging: mt7621-pci: fix io space and properly set resource limits
authorSergio Paracuellos <sergio.paracuellos@gmail.com>
Wed, 18 Mar 2020 09:44:45 +0000 (10:44 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 18 Mar 2020 10:15:20 +0000 (11:15 +0100)
commitea38ab94e99835416b621a792a76b40223411abe
tree472330bb8a0e4862277ee5021d5ca4f307dd8283
parentfbe42d4be151a00a949bb22924d8362ac124c2f7
staging: mt7621-pci: fix io space and properly set resource limits

Function 'mt7621_pci_parse_request_of_pci_ranges' is using
'of_pci_range_to_resource' to get both mem and io resources.
Internally this function calls to 'pci_address_to_pio' which
returns -1 if io space address is an address > IO_SPACE_LIMIT
which is 0xFFFF for mips. This mt7621 soc has io space in physical
address 0x1e160000. In order to fix this, overwrite invalid io
0xffffffff  with properly values from the device tree and set
mapped address of this resource as io port base memory address
calling 'set_io_port_base' function. There is also need to properly
setup resource limits and io and memory windows with properly
parsed values instead of set them as 'no limit' which it is wrong.
For any reason I don't really know legacy driver sets up mem window
as 0xFFFFFFFF and any other value seems to does not work as expected,
so set up also here with same values.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Link: https://lore.kernel.org/r/20200318094445.19669-1-sergio.paracuellos@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/mt7621-pci/pci-mt7621.c