aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2014-05-05 11:05:26 -0400
committerJason Cooper <jason@lakedaemon.net>2014-05-08 12:40:17 -0400
commit39438567179536c9f32e85d19586a11aebe1f860 (patch)
tree6c347bae9dcc0ec447551df0acddc107bdb28fbc
parenta58d5af7d992a5e6dd8e55b3e618bd77f0368b57 (diff)
ARM: mvebu: conditionalize Armada 375 coherency workaround
The Armada 375 coherency workaround only needs to be applied to the Z1 revision of the SoC. The A0 and later revisions have been fixed, and no longer need this workaround. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Link: https://lkml.kernel.org/r/1399302326-6917-6-git-send-email-thomas.petazzoni@free-electrons.com Signed-off-by: Jason Cooper <jason@lakedaemon.net>
-rw-r--r--arch/arm/mach-mvebu/coherency.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/arch/arm/mach-mvebu/coherency.c b/arch/arm/mach-mvebu/coherency.c
index 9d5ccd372712..d5a975b6a590 100644
--- a/arch/arm/mach-mvebu/coherency.c
+++ b/arch/arm/mach-mvebu/coherency.c
@@ -33,6 +33,7 @@
33#include <asm/cacheflush.h> 33#include <asm/cacheflush.h>
34#include "armada-370-xp.h" 34#include "armada-370-xp.h"
35#include "coherency.h" 35#include "coherency.h"
36#include "mvebu-soc-id.h"
36 37
37unsigned long coherency_phys_base; 38unsigned long coherency_phys_base;
38void __iomem *coherency_base; 39void __iomem *coherency_base;
@@ -365,8 +366,13 @@ static int __init coherency_late_init(void)
365 if (type == COHERENCY_FABRIC_TYPE_NONE) 366 if (type == COHERENCY_FABRIC_TYPE_NONE)
366 return 0; 367 return 0;
367 368
368 if (type == COHERENCY_FABRIC_TYPE_ARMADA_375) 369 if (type == COHERENCY_FABRIC_TYPE_ARMADA_375) {
369 armada_375_coherency_init_wa(); 370 u32 dev, rev;
371
372 if (mvebu_get_soc_id(&dev, &rev) == 0 &&
373 rev == ARMADA_375_Z1_REV)
374 armada_375_coherency_init_wa();
375 }
370 376
371 bus_register_notifier(&platform_bus_type, 377 bus_register_notifier(&platform_bus_type,
372 &mvebu_hwcc_platform_nb); 378 &mvebu_hwcc_platform_nb);