
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()?