sparc: PCI: Fix incorrect address calculation of PCI Bridge windows on Simba-bridges
authoroftedal <oftedal@gmail.com>
Fri, 18 Oct 2013 20:28:29 +0000 (22:28 +0200)
committerBen Hutchings <ben@decadent.org.uk>
Wed, 30 Apr 2014 15:23:18 +0000 (16:23 +0100)
commit0fc0d40baf275f99cb635fb65af19a977e7ecd2a
tree3ca37b877ab598a43244303c8afd90998d517fcb
parent710da494970f1d73c7df3fc0997e565cf4396e9d
sparc: PCI: Fix incorrect address calculation of PCI Bridge windows on Simba-bridges

[ Upstream commit 557fc5873ef178c4b3e1e36a42db547ecdc43f9b ]

The SIMBA APB Bridges lacks the 'ranges' of-property describing the
PCI I/O and memory areas located beneath the bridge. Faking this
information has been performed by reading range registers in the
APB bridge, and calculating the corresponding areas.

In commit 01f94c4a6ced476ce69b895426fc29bfc48c69bd
("Fix sabre pci controllers with new probing scheme.") a bug was
introduced into this calculation, causing the PCI memory areas
to be calculated incorrectly: The shift size was set to be
identical for I/O and MEM ranges, which is incorrect.

This patch set the shift size of the MEM range back to the
value used before 01f94c4a6ced476ce69b895426fc29bfc48c69bd.

Signed-off-by: Kjetil Oftedal <oftedal@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
arch/sparc/kernel/pci.c