]> git.baikalelectronics.ru Git - kernel.git/commit
[SPARC64]: Fix PCI memory space root resource on Hummingbird.
authorDavid S. Miller <davem@sunset.davemloft.net>
Wed, 18 Oct 2006 02:04:44 +0000 (19:04 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Wed, 18 Oct 2006 02:28:50 +0000 (19:28 -0700)
commite534929dad0207477099335354920688bb46ec74
tree7d53d2ffd49fba8815d1986bb8f07d8b0959c605
parentcdff88e3515c8850a142a3850ce05d0fffc84b54
[SPARC64]: Fix PCI memory space root resource on Hummingbird.

For Hummingbird PCI controllers, we should create the root
PCI memory space resource as the full 4GB area, and then
allocate the IOMMU DMA translation window out of there.

The old code just assumed that the IOMMU DMA translation base
to the top of the 4GB area was unusable.  This is not true on
many systems such as SB100 and SB150, where the IOMMU DMA
translation window sits at 0xc0000000->0xdfffffff.

So what would happen is that any device mapped by the firmware
at the top section 0xe0000000->0xffffffff would get remapped
by Linux somewhere else leading to all kinds of problems and
boot failures.

While we're here, report more cases of OBP resource assignment
conflicts.  The only truly valid ones are ROM resource conflicts.

Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc64/kernel/pci_common.c
arch/sparc64/kernel/pci_sabre.c