[PATCH 1/3] ARM: OMAP2+: N900: always enable IBE bit

Sebastian Reichel sre at kernel.org
Wed Jul 22 17:48:01 PDT 2015


The kernel's workaround for Errata 430973 consists of a BTAC/BTB
flush at context switch. This requires the IBE bit being set, which
should normally be done by the bootloader.

Since the Nokia N900's bootloader is not easily replaceable,
a pdata quirk enables the IBE bit for the Nokia N900. Until
e748994f5cc5, the flush at context switch required
CONFIG_ARM_ERRATA_430973, so the same check has been used
for setting the IBE bit.

Since all sold N900s are assumed to be affected, the guard
can be removed now, so that the IBE bit is always set.

Signed-off-by: Sebastian Reichel <sre at kernel.org>
---
 arch/arm/mach-omap2/board-rx51.c   |  2 --
 arch/arm/mach-omap2/pdata-quirks.c | 11 ++---------
 2 files changed, 2 insertions(+), 11 deletions(-)

diff --git a/arch/arm/mach-omap2/board-rx51.c b/arch/arm/mach-omap2/board-rx51.c
index 2d1e5a6..3df01cc 100644
--- a/arch/arm/mach-omap2/board-rx51.c
+++ b/arch/arm/mach-omap2/board-rx51.c
@@ -108,11 +108,9 @@ static void __init rx51_init(void)
 	rx51_peripherals_init();
 
 	if (omap_type() == OMAP2_DEVICE_TYPE_SEC) {
-#ifdef CONFIG_ARM_ERRATA_430973
 		pr_info("RX-51: Enabling ARM errata 430973 workaround\n");
 		/* set IBE to 1 */
 		rx51_secure_update_aux_cr(BIT(6), 0);
-#endif
 	}
 
 	/* Ensure SDRC pins are mux'd for self-refresh */
diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c
index 821171c..0aa438d 100644
--- a/arch/arm/mach-omap2/pdata-quirks.c
+++ b/arch/arm/mach-omap2/pdata-quirks.c
@@ -249,18 +249,11 @@ static void __init nokia_n900_legacy_init(void)
 	hsmmc2_internal_input_clk();
 
 	if (omap_type() == OMAP2_DEVICE_TYPE_SEC) {
-		if (IS_ENABLED(CONFIG_ARM_ERRATA_430973)) {
-			pr_info("RX-51: Enabling ARM errata 430973 workaround\n");
-			/* set IBE to 1 */
-			rx51_secure_update_aux_cr(BIT(6), 0);
-		} else {
-			pr_warn("RX-51: Not enabling ARM errata 430973 workaround\n");
-			pr_warn("Thumb binaries may crash randomly without this workaround\n");
-		}
+		pr_info("RX-51: Enabling ARM errata 430973 workaround\n");
+		rx51_secure_update_aux_cr(BIT(6), 0); /* set IBE to 1 */
 
 		pr_info("RX-51: Registring OMAP3 HWRNG device\n");
 		platform_device_register(&omap3_rom_rng_device);
-
 	}
 }
 
-- 
2.1.4




More information about the linux-arm-kernel mailing list