This is a patch set fixing regressions in v3.15-rc1 ultimately caused by adding DT-enabled Marvell Dove to MULTI_V7. There was a fix introduced late in the merge window to fix a related regression for non-PJ4 architectures, that turned out to introduce another regression on PJ4B-based Armada 370/XP.
Therefore, this now takes care of iWMMXt and PJ4[B] related code to properly fix all regressions observed in v3.15-rc1. At the end, one patch adding support for iWMMXt on PJ4B as found on Marvell Berlin BG2 SoCs is added. Patch 1 reworks iwmmxt.S preprocessor directives to allow to build it only if a supported platform is enabled. Also, it rewrites them to explicitly check for all CPUs of the currently supported architectures. Patch 2 fixes pj4_cp0_init to only enable iWMMXt capabilities, if corresponding kernel support code is also enabled by CONFIG_IWMMXT. Patch 3 fixes pj4_cp0_init to properly perform runtime checks for absence/presence of iWMMXt coprocessor. This effectively fixes boot regressions observed on Armada 370/XP. Patch 4 fixes cpu_is_pj4's cpuid check to check for both PJ4 and PJ4B. This effectively fixes iWMMXt support on MULTI_V7 Dove. Patch 5 finally allows PJ4B to also enable iWMMXt support as there are some PJ4B based SoCs, e.g. Marvell Armada 1500, that have those coprocessors. This is _not_ a fix but an improvement and should be treated as such, i.e. taken for v3.16. As a side note, after looking into this: if XScale based SoCs also properly perform runtime checks for iWMMXt presence, I'd be interested on comments if iWMMXt can possibly also be reworked to be build as a module dynamically adding/removing iWMMXt support? I expect proper Tested-by's for Armada 370/XP, where some preliminary patches have been boot tested by Thomas Petazzoni. I boot tested it on Marvell Dove and Marvell Berlin BG2. Any Tested-by's from XScale and/or non-PJ4[B] architectures are also appreciated. Russell, please let me know if/when you are happy with the fixes and the improvement. I'll be adding them to your patch tracker then. Sebastian Sebastian Hesselbarth (5): ARM: iwmmxt: explicitly check for supported architectures ARM: pj4: enable iWMMXt only if CONFIG_IWMMXT is set ARM: pj4: properly detect existence of iWMMXt coprocessor ARM: pj4: fix cpu_is_pj4 check ARM: iwmmxt: allow to build iWMMXt on Marvell PJ4B arch/arm/Kconfig | 6 +++--- arch/arm/include/asm/cputype.h | 14 +++++++------- arch/arm/kernel/Makefile | 1 + arch/arm/kernel/iwmmxt.S | 8 ++++++-- arch/arm/kernel/pj4-cp0.c | 42 +++++++++++++++++++++++++++++++++++++++--- 5 files changed, 56 insertions(+), 15 deletions(-) --- Cc: Russell King <li...@arm.linux.org.uk> Cc: Arnd Bergmann <a...@arndb.de> Cc: Olof Johansson <o...@lixom.net> Cc: Kevin Hilman <khil...@linaro.org> Cc: Andrew Lunn <and...@lunn.ch> Cc: Jason Cooper <ja...@lakedaemon.net> Cc: Gregory Clement <gregory.clem...@free-electrons.com> Cc: Thomas Petazzoni <thomas.petazz...@free-electrons.com> Cc: Eric Miao <eric.y.m...@gmail.com> Cc: Haojian Zhuang <haojian.zhu...@gmail.com> Cc: Chao Xie <xiechao.m...@gmail.com> Cc: linux-arm-ker...@lists.infradead.org Cc: linux-kernel@vger.kernel.org -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/