[ARM] 3539/1: ixp23xx: fix __arch_ixp23xx_is_coherent() for A1 stepping
authorLennert Buytenhek <buytenh@wantstofly.org>
Fri, 2 Jun 2006 18:51:50 +0000 (19:51 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Fri, 2 Jun 2006 18:51:50 +0000 (19:51 +0100)
commita77bc69138a4f52d003ca81d075f386953f6b25a
tree01ea99eb0eaceff5c8771e9a88d4f5fdb9607ef8
parentba8f5baba79da8eb502f8534c3a8ecb64aceb790
[ARM] 3539/1: ixp23xx: fix __arch_ixp23xx_is_coherent() for A1 stepping

Patch from Lennert Buytenhek

The current __ixp23xx_arch_is_coherent() check assumes that the
lower byte of IXP23XX_PRODUCT_ID is identical to the lower byte of
processor_id, but this is not the case, and because of this we were
incorrectly enabling coherency on A1 stepping CPUs.

Stepping A1 of the ixp2350, which has a PRODUCT_ID of 0x401, has '02'
in the lower byte of processor_id, while A2, with a PRODUCT_ID of
0x402, has '04' in the lower byte of processor_id.

So, to check for >= A2, we really need to check the lower byte of
processor_id against >= 4.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
include/asm-arm/arch-ixp23xx/memory.h