1 From 50beefde30224888d6d63224405ace4bdd4b32a0 Mon Sep 17 00:00:00 2001
2 From: Russell King <rmk+kernel@arm.linux.org.uk>
3 Date: Fri, 15 May 2015 11:05:54 +0100
4 Subject: [PATCH 72/74] ARM: l2c: clean up l2c_configure()
6 l2c_configure() does not follow the pattern of other l2c_* functions.
7 Fix this so that it does to avoid future confusion.
9 Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
11 arch/arm/mm/cache-l2x0.c | 23 ++++++++++++++---------
12 1 file changed, 14 insertions(+), 9 deletions(-)
14 --- a/arch/arm/mm/cache-l2x0.c
15 +++ b/arch/arm/mm/cache-l2x0.c
16 @@ -110,15 +110,7 @@ static inline void l2c_unlock(void __iom
18 static void l2c_configure(void __iomem *base)
20 - if (outer_cache.configure) {
21 - outer_cache.configure(&l2x0_saved_regs);
25 l2c_write_sec(l2x0_saved_regs.aux_ctrl, base, L2X0_AUX_CTRL);
27 - if (l2x0_data->configure)
28 - l2x0_data->configure(base);
32 @@ -130,7 +122,11 @@ static void l2c_enable(void __iomem *bas
35 l2x0_saved_regs.aux_ctrl = aux;
36 - l2c_configure(base);
38 + if (outer_cache.configure)
39 + outer_cache.configure(&l2x0_saved_regs);
41 + l2x0_data->configure(base);
43 l2c_unlock(base, num_lock);
45 @@ -252,6 +248,7 @@ static const struct l2c_init_data l2c210
49 + .configure = l2c_configure,
51 .inv_range = l2c210_inv_range,
52 .clean_range = l2c210_clean_range,
53 @@ -409,6 +406,7 @@ static const struct l2c_init_data l2c220
55 .enable = l2c220_enable,
57 + .configure = l2c_configure,
59 .inv_range = l2c220_inv_range,
60 .clean_range = l2c220_clean_range,
61 @@ -569,6 +567,8 @@ static void l2c310_configure(void __iome
65 + l2c_configure(base);
67 /* restore pl310 setup */
68 l2c_write_sec(l2x0_saved_regs.tag_latency, base,
69 L310_TAG_LATENCY_CTRL);
70 @@ -1066,6 +1066,7 @@ static const struct l2c_init_data of_l2c
71 .of_parse = l2x0_of_parse,
74 + .configure = l2c_configure,
76 .inv_range = l2c210_inv_range,
77 .clean_range = l2c210_clean_range,
78 @@ -1084,6 +1085,7 @@ static const struct l2c_init_data of_l2c
79 .of_parse = l2x0_of_parse,
80 .enable = l2c220_enable,
82 + .configure = l2c_configure,
84 .inv_range = l2c220_inv_range,
85 .clean_range = l2c220_clean_range,
86 @@ -1416,6 +1418,7 @@ static const struct l2c_init_data of_aur
88 .fixup = aurora_fixup,
90 + .configure = l2c_configure,
92 .inv_range = aurora_inv_range,
93 .clean_range = aurora_clean_range,
94 @@ -1435,6 +1438,7 @@ static const struct l2c_init_data of_aur
95 .enable = aurora_enable_no_outer,
96 .fixup = aurora_fixup,
98 + .configure = l2c_configure,
100 .resume = l2c_resume,
102 @@ -1608,6 +1612,7 @@ static void __init tauros3_save(void __i
104 static void tauros3_configure(void __iomem *base)
106 + l2c_configure(base);
107 writel_relaxed(l2x0_saved_regs.aux2_ctrl,
108 base + TAUROS3_AUX2_CTRL);
109 writel_relaxed(l2x0_saved_regs.prefetch_ctrl,