linux_dsm_epyc7002/drivers/of
Pavel Fedin 4af9710649 PCI: of: Add 64-bit address recognition without LPAE support
If non-LPAE kernel is booted up on a machine with 64-bit PCI resources,
PCI controller probe fails with:

PCI host bridge /pcie@10000000 ranges:
   IO 0x3eff0000..0x3effffff -> 0x00000000
  MEM 0x10000000..0x3efeffff -> 0x10000000
  MEM 0x8000000000..0xffffffffff -> 0x8000000000
pci-host-generic 3f000000.pcie: resource collision: [mem 0x00000000-0xffffffff] conflicts with /pl011@9000000 [mem 0x09000000-0x09000fff]
pci-host-generic: probe of 3f000000.pcie failed with error -16

This happens because res->start assignment in of_pci_range_to_resource()
truncates the upper part of the address, because res->start is of
phys_addr_t type, which is 32-bit on non-LPAE kernels.

This patch adds explicit recognition of 64-bit resources, preventing from
potential problems when e. g. 0x8000001234 would be converted to
0x00001234.

Signed-off-by: Pavel Fedin <p.fedin@samsung.com>
Signed-off-by: Rob Herring <robh@kernel.org>
2015-10-13 13:30:37 -05:00
..
unittest-data of/unittest: replace 'selftest' with 'unittest' 2015-03-25 00:53:29 -05:00
address.c PCI: of: Add 64-bit address recognition without LPAE support 2015-10-13 13:30:37 -05:00
base.c Devicetree changes for v4.2 2015-07-01 19:40:18 -07:00
device.c of: to support binding numa node to specified device in devicetree 2015-09-17 14:51:55 -05:00
dynamic.c of/dynamic: Fix test for PPC_PSERIES 2015-06-05 10:39:28 +09:00
fdt_address.c
fdt.c of/fdt: make memblock maximum physical address arch configurable 2015-08-24 10:23:13 +01:00
irq.c Merge branch 'i2c/for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2015-09-08 16:16:26 -07:00
Kconfig of: add HAS_IOMEM depends to OF_ADDRESS 2015-07-27 08:21:04 -05:00
Makefile of: clean-up unnecessary libfdt include paths 2015-06-04 20:16:47 -05:00
of_mdio.c phy: fixed_phy: Add gpio to determine link up/down. 2015-08-31 14:48:02 -07:00
of_mtd.c
of_net.c of_net: factor out repetitive code from of_get_mac_address() 2015-03-29 08:56:17 +01:00
of_pci_irq.c
of_pci.c of/pci: Add of_pci_dma_configure() to update DMA configuration 2015-03-03 14:42:57 -06:00
of_private.h of: Refactor __of_node_alloc() into __of_node_dup() 2014-11-24 22:24:41 +00:00
of_reserved_mem.c of: Check for overlap in reserved memory regions 2015-09-17 14:52:06 -05:00
overlay.c of/overlay: Grammar s/an negative/a negative/ 2015-05-28 13:00:25 -05:00
pdt.c of: Eliminate of_allnodes list 2014-11-04 13:29:38 +00:00
platform.c DeviceTree updates for 4.3: 2015-09-01 19:37:56 -07:00
resolver.c of/resolver: Switch to new local fixups format. 2014-11-24 22:24:50 +00:00
unittest.c of: Drop owner assignment from platform and i2c driver 2015-07-27 08:24:39 -05:00