Re: [PATCH 49/97] ARM: l2c: fix register naming

2014-04-28 Thread Stephen Warren
On 04/28/2014 01:30 PM, Russell King wrote:
> We have a mixture of different devices with different register layouts,
> but we group all the bits together in an opaque mess.  Split them out
> into those which are L2C-310 specific and ones which refer to earlier
> devices.  Provide full auxiliary control register definitions.

Acked-by: Stephen Warren 

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 49/97] ARM: l2c: fix register naming

2014-04-28 Thread Russell King
We have a mixture of different devices with different register layouts,
but we group all the bits together in an opaque mess.  Split them out
into those which are L2C-310 specific and ones which refer to earlier
devices.  Provide full auxiliary control register definitions.

Acked-by: Tony Lindgren 
Acked-by: Linus Walleij 
Acked-by: Shawn Guo 
Signed-off-by: Russell King 
---
 arch/arm/include/asm/hardware/cache-l2x0.h | 73 --
 arch/arm/mach-cns3xxx/core.c   |  8 ++--
 arch/arm/mach-exynos/sleep.S   |  8 ++--
 arch/arm/mach-imx/system.c |  8 ++--
 arch/arm/mach-omap2/omap-mpuss-lowpower.c  |  2 +-
 arch/arm/mach-omap2/omap4-common.c | 18 
 arch/arm/mach-prima2/l2x0.c|  5 +-
 arch/arm/mach-realview/realview_pbx.c  |  4 +-
 arch/arm/mach-spear/spear13xx.c|  6 +--
 arch/arm/mach-sti/board-dt.c   |  8 ++--
 arch/arm/mach-tegra/sleep.h|  8 ++--
 arch/arm/mach-ux500/cache-l2x0.c   |  4 +-
 arch/arm/mach-vexpress/ct-ca9x4.c  |  4 +-
 arch/arm/mm/cache-l2x0.c   | 57 +++
 14 files changed, 118 insertions(+), 95 deletions(-)

diff --git a/arch/arm/include/asm/hardware/cache-l2x0.h 
b/arch/arm/include/asm/hardware/cache-l2x0.h
index 3af45734b514..b3ee122c6f24 100644
--- a/arch/arm/include/asm/hardware/cache-l2x0.h
+++ b/arch/arm/include/asm/hardware/cache-l2x0.h
@@ -26,8 +26,8 @@
 #define L2X0_CACHE_TYPE0x004
 #define L2X0_CTRL  0x100
 #define L2X0_AUX_CTRL  0x104
-#define L2X0_TAG_LATENCY_CTRL  0x108
-#define L2X0_DATA_LATENCY_CTRL 0x10C
+#define L310_TAG_LATENCY_CTRL  0x108
+#define L310_DATA_LATENCY_CTRL 0x10C
 #define L2X0_EVENT_CNT_CTRL0x200
 #define L2X0_EVENT_CNT1_CFG0x204
 #define L2X0_EVENT_CNT0_CFG0x208
@@ -54,16 +54,16 @@
 #define L2X0_LOCKDOWN_WAY_D_BASE   0x900
 #define L2X0_LOCKDOWN_WAY_I_BASE   0x904
 #define L2X0_LOCKDOWN_STRIDE   0x08
-#define L2X0_ADDR_FILTER_START 0xC00
-#define L2X0_ADDR_FILTER_END   0xC04
+#define L310_ADDR_FILTER_START 0xC00
+#define L310_ADDR_FILTER_END   0xC04
 #define L2X0_TEST_OPERATION0xF00
 #define L2X0_LINE_DATA 0xF10
 #define L2X0_LINE_TAG  0xF30
 #define L2X0_DEBUG_CTRL0xF40
-#define L2X0_PREFETCH_CTRL 0xF60
-#define L2X0_POWER_CTRL0xF80
-#define   L2X0_DYNAMIC_CLK_GATING_EN   (1 << 1)
-#define   L2X0_STNDBY_MODE_EN  (1 << 0)
+#define L310_PREFETCH_CTRL 0xF60
+#define L310_POWER_CTRL0xF80
+#define   L310_DYNAMIC_CLK_GATING_EN   (1 << 1)
+#define   L310_STNDBY_MODE_EN  (1 << 0)
 
 /* Registers shifts and masks */
 #define L2X0_CACHE_ID_PART_MASK(0xf << 6)
@@ -88,29 +88,52 @@
 #define L310_CACHE_ID_RTL_R3P3 0x09
 
 #define L2X0_AUX_CTRL_MASK 0xcfff
+/* L2C auxiliary control register - bits common to L2C-210/220/310 */
+#define L2C_AUX_CTRL_WAY_SIZE_SHIFT17
+#define L2C_AUX_CTRL_WAY_SIZE_MASK (7 << 17)
+#define L2C_AUX_CTRL_WAY_SIZE(n)   ((n) << 17)
+#define L2C_AUX_CTRL_EVTMON_ENABLE BIT(20)
+#define L2C_AUX_CTRL_PARITY_ENABLE BIT(21)
+#define L2C_AUX_CTRL_SHARED_OVERRIDE   BIT(22)
+/* L2C-210/220 common bits */
 #define L2X0_AUX_CTRL_DATA_RD_LATENCY_SHIFT0
-#define L2X0_AUX_CTRL_DATA_RD_LATENCY_MASK 0x7
+#define L2X0_AUX_CTRL_DATA_RD_LATENCY_MASK (7 << 0)
 #define L2X0_AUX_CTRL_DATA_WR_LATENCY_SHIFT3
-#define L2X0_AUX_CTRL_DATA_WR_LATENCY_MASK (0x7 << 3)
+#define L2X0_AUX_CTRL_DATA_WR_LATENCY_MASK (7 << 3)
 #define L2X0_AUX_CTRL_TAG_LATENCY_SHIFT6
-#define L2X0_AUX_CTRL_TAG_LATENCY_MASK (0x7 << 6)
+#define L2X0_AUX_CTRL_TAG_LATENCY_MASK (7 << 6)
 #define L2X0_AUX_CTRL_DIRTY_LATENCY_SHIFT  9
-#define L2X0_AUX_CTRL_DIRTY_LATENCY_MASK   (0x7 << 9)
-#define L2X0_AUX_CTRL_ASSOCIATIVITY_SHIFT  16
-#define L2X0_AUX_CTRL_WAY_SIZE_SHIFT   17
-#define L2X0_AUX_CTRL_WAY_SIZE_MASK(0x7 << 17)
-#define L2X0_AUX_CTRL_SHARE_OVERRIDE_SHIFT 22
-#define L2X0_AUX_CTRL_NS_LOCKDOWN_SHIFT26
-#define L2X0_AUX_CTRL_NS_INT_CTRL_SHIFT27
-#define L2X0_AUX_CTRL_DATA_PREFETCH_SHIFT  28
-#define L2X0_AUX_CTRL_INSTR_PREFETCH_SHIFT 29
-#define L2X0_AUX_CTRL_EARLY_BRESP_SHIFT30
+#define L2X0_AUX_CTRL_DIRTY_LATENCY_MASK   (7 << 9)
+#define L2X0_AUX_CTRL_ASSOC_SHIFT  13
+#define L2X0_AUX_CTRL_ASSOC_MASK   (15 << 13)
+/* L2C-210 specific bits */
+#define L210_AUX_CTRL_WRAP_DISABLE BIT(12)
+#define L210_AUX_CTRL_WA_OVERRIDE  BIT(23)
+#define L210_AUX_CTRL_EXCLUSIVE_ABORT