Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5c95ed47 authored by Fabrice Gasnier's avatar Fabrice Gasnier Committed by Russell King
Browse files

ARM: 8310/1: l2c: Fix prefetch settings dt parsing



Allow prefetch settings overriding by device tree, in case
l2x0_cache_size_of_parse() returns value, prefetch tuning
properties are silently ignored. E.g. arm,double-linefill* and
arm,prefetch*.
This happens for example, when "cache-size" or "cache-sets"
properties haven't been filled in l2c dt node.

Comments from Fabrice Gasnier:

 Allow device tree to override the L2C prefetch settings, even when
 l2x0_cache_size_of_parse() fails to parse the cache geometry due to (eg)
 missing "cache-size" or "cache-sets" properties.

Signed-off-by: default avatarFabrice Gasnier <fabrice.gasnier@st.com>
Reviewed-by: default avatarTomasz Figa <tomasz.figa@gmail.com>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 6d021b72
Loading
Loading
Loading
Loading
+16 −17
Original line number Diff line number Diff line
@@ -1131,9 +1131,7 @@ static void __init l2c310_of_parse(const struct device_node *np,
	}

	ret = l2x0_cache_size_of_parse(np, aux_val, aux_mask, &assoc, SZ_512K);
	if (ret)
		return;

	if (!ret) {
		switch (assoc) {
		case 16:
			*aux_val &= ~L2X0_AUX_CTRL_ASSOC_MASK;
@@ -1149,6 +1147,7 @@ static void __init l2c310_of_parse(const struct device_node *np,
			       assoc);
			break;
		}
	}

	prefetch = l2x0_saved_regs.prefetch_ctrl;