The part number should be masked out of the cache ID when detecting if the cache controller is a PL310. Since this is done elsewhere, add a macro for brevity.
Tested on a PandaBoard ES. Signed-off-by: Christopher Kenna <[email protected]> --- arch/arm/mm/cache-l2x0.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/arch/arm/mm/cache-l2x0.c b/arch/arm/mm/cache-l2x0.c index 8a97e64..bdf2f66 100644 --- a/arch/arm/mm/cache-l2x0.c +++ b/arch/arm/mm/cache-l2x0.c @@ -27,6 +27,7 @@ #include <asm/hardware/cache-l2x0.h> #define CACHE_LINE_SIZE 32 +#define CACHE_ID_PART(id) ((id) & L2X0_CACHE_ID_PART_MASK) static void __iomem *l2x0_base; static DEFINE_RAW_SPINLOCK(l2x0_lock); @@ -292,7 +293,7 @@ static void l2x0_unlock(u32 cache_id) int lockregs; int i; - if (cache_id == L2X0_CACHE_ID_PART_L310) + if (CACHE_ID_PART(cache_id) == L2X0_CACHE_ID_PART_L310) lockregs = 8; else /* L210 and unknown types */ @@ -323,7 +324,7 @@ void __init l2x0_init(void __iomem *base, u32 aux_val, u32 aux_mask) aux |= aux_val; /* Determine the number of ways */ - switch (cache_id & L2X0_CACHE_ID_PART_MASK) { + switch (CACHE_ID_PART(cache_id)) { case L2X0_CACHE_ID_PART_L310: if (aux & (1 << 16)) ways = 16; -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

