microblaze/PCI: Clip bridge windows to fit in upstream windows
authorYinghai Lu <yinghai@kernel.org>
Thu, 15 Jan 2015 22:21:50 +0000 (16:21 -0600)
committerBjorn Helgaas <bhelgaas@google.com>
Fri, 16 Jan 2015 16:04:43 +0000 (10:04 -0600)
commit576e4385ff59f52ca0e9a6a953a55f1f76fc196b
tree603ff3d0da260aa3813399a3d154884f00defed9
parentce821ef0333fc130154ed3091144a590c1909f4d
microblaze/PCI: Clip bridge windows to fit in upstream windows

Every PCI-PCI bridge window should fit inside an upstream bridge window
because orphaned address space is unreachable from the primary side of the
upstream bridge.  If we inherit invalid bridge windows that overlap an
upstream window from firmware, clip them to fit and update the bridge
accordingly.

[bhelgaas: changelog]
Link: https://bugzilla.kernel.org/show_bug.cgi?id=85491
Reported-by: Marek Kordik <kordikmarek@gmail.com>
Fixes: 5b28541552ef ("PCI: Restrict 64-bit prefetchable bridge windows to 64-bit resources")
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
CC: Michal Simek <monstr@monstr.eu>
CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
CC: Sebastian Ott <sebott@linux.vnet.ibm.com>
arch/microblaze/pci/pci-common.c