
Stephen,
On Fri, Mar 29, 2013 at 3:43 PM, Stephen Warren swarren@wwwdotorg.orgwrote:
On 03/29/2013 02:38 PM, Tom Warren wrote:
Without this change, kernel fails at calling function cache_clean_flush during kernel early boot.
Aprocryphally, intended for T114 only, so I check for a T114 SoC. Works (i.e. dalmore 3.8 kernel now starts printing to console).
I don't know enough about the caches to really review this, but I have no particular objection to it. My one comment is ...
diff --git a/arch/arm/cpu/tegra-common/cache.c
b/arch/arm/cpu/tegra-common/cache.c
+void config_cache(void)
/* Currently, only T114 needs this L2 cache change to boot Linux */
reg = (readl(&gp->hidrev) & HIDREV_CHIPID_MASK);
if (reg != (CHIPID_TEGRA114 << HIDREV_CHIPID_SHIFT))
return;
Can we introduce a standard function for that instead? We already have tegra_get_chip_type() which returns a SKU-based ID. I think we need to introduce a tegra_get_soc_type() that returns a pure Tegra20/30/114 value, and probably use this in most places we currently use the result of tegra_get_chip_type(), since most care about SW-compatibility of features rather than SKU which drivers performance levels instead typically. Then, perhaps rename tegra_get_chip_type() to tegra_get_soc_sku() and re-write it to use tegra_get_soc_type()?
I can do that, but I'd prefer to do it as a separate patch since tegra_get_chip_type is used in a few other places.
This patch is needed by a customer to get their kernel loading (or at least past the 'Decompressing Linux...' part). I'll correct this patch later to use tegra_get_soc_type().
Thanks,
Tom