android_kernel_xiaomi_sm7250/arch/powerpc
Benjamin Herrenschmidt b556151110 powerpc/pci: Improve detection of unassigned bridge resources
When the powerpc PCI layer is not configured to re-assign everything,
it currently fails to detect that a PCI to PCI bridge has been left
unassigned by the firmware and tries to allocate resource for the
default window values in the bridge (0...X) (with the notable exception
of a hack we have in there that detects some Apple firmware unassigned
bridge resources).

This results in resource allocation failures, which are generally
fixed up later on but it causes scary warnings in the logs and we
have seen the fixup code fall over in some circumstances (a different
issue to fix as well).

This code improves that by providing a more complete & useful function
to intuit that a bridge was left unassigned by the firmware, and thus
force a full re-allocation by the PCI code without trying to allocate
the existing useless resources first.

The algorithm we use basically considers unassigned a window that
starts at 0 (PCI address) if the corresponding address space enable
bit is not set. In addition, for memory space, it considers such a
resource unassigned also if the host bridge isn't configured to
forward cycles to address 0 (ie, the resource basically overlaps
main memory).

This fixes a range of problems with things like Bare-Metal support
on pSeries machines, or attempt to use partial firmware PCI setup.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2008-10-15 10:13:29 +11:00
..
boot powerpc/83xx: add NAND support for the MPC8360E-RDK boards 2008-10-13 11:11:20 -05:00
configs powerpc: disable CHRP and PMAC support in various defconfigs 2008-10-13 11:09:59 -05:00
include/asm powerpc: Get USE_STRICT_MM_TYPECHECKS working again 2008-10-14 10:35:27 +11:00
kernel powerpc/pci: Improve detection of unassigned bridge resources 2008-10-15 10:13:29 +11:00
kvm KVM: ppc: fix invalidation of large guest pages 2008-07-27 12:02:05 +03:00
lib powerpc: Fix DMA offset for non-coherent DMA 2008-10-14 10:35:26 +11:00
math-emu powerpc/math-emu: Use kernel generic math-emu code 2008-10-01 08:40:07 -05:00
mm powerpc: Get USE_STRICT_MM_TYPECHECKS working again 2008-10-14 10:35:27 +11:00
oprofile powerpc/cell/oprofile: Fix test on overlay_tbl_offset in vma_map 2008-10-10 15:55:18 +11:00
platforms Merge commit 'kumar/kumar-next' 2008-10-14 10:11:38 +11:00
sysdev powerpc: fix fsl_upm nand driver modular build 2008-10-13 11:48:24 -05:00
xmon Merge branch 'linux-2.6' 2008-06-30 10:16:50 +10:00
Kconfig powerpc: Enforce sane MAX_ORDER 2008-10-07 14:26:20 +11:00
Kconfig.debug powerpc: Split-out common MSI bitmap logic into msi_bitmap.c 2008-08-20 16:34:57 +10:00
Makefile powerpc: Enforce a non-spe kernel build even on broken compilers 2008-09-15 11:08:41 -07:00