[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHYPw2Ep9VP6Tem979ewcztdxkHkG8eR_U31U=f5ibsVa5AS4Q@mail.gmail.com>
Date: Wed, 5 Feb 2014 14:12:56 +0100
From: Pali Rohár <pali.rohar@...il.com>
To: Sebastian Reichel <sre@...ian.org>
Cc: Tony Lindgren <tony@...mide.com>,
Linux OMAP Mailing List <linux-omap@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>, freemangordon@....bg
Subject: Re: [PATCH] ARM: OMAP2+: Add support for thumb mode on DT booted N900
2014-02-05 Sebastian Reichel <sre@...ian.org>:
> Without enabling the workaround for ARM errata 430973 thumb
> compiled userland crashes randomly on the Nokia N900.
>
> Signed-off-by: Sebastian Reichel <sre@...ian.org>
> ---
> Hi Tony,
>
> I think this patch should be added into some fix branch for 3.14-rcX.
>
> -- Sebastian
> ---
> arch/arm/mach-omap2/pdata-quirks.c | 19 ++++++++++++++++++-
> 1 file changed, 18 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c
> index 3d5b24d..7929df3 100644
> --- a/arch/arm/mach-omap2/pdata-quirks.c
> +++ b/arch/arm/mach-omap2/pdata-quirks.c
> @@ -22,6 +22,8 @@
> #include "common-board-devices.h"
> #include "dss-common.h"
> #include "control.h"
> +#include "omap-secure.h"
> +#include "soc.h"
>
> struct pdata_init {
> const char *compatible;
> @@ -169,6 +171,21 @@ static void __init am3517_evm_legacy_init(void)
> omap_ctrl_writel(v, AM35XX_CONTROL_IP_SW_RESET);
> omap_ctrl_readl(AM35XX_CONTROL_IP_SW_RESET); /* OCP barrier */
> }
> +
> +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_warning("RX-51: Not enabling ARM errata 430973 workaround\n");
> + }
> + }
> +}
> #endif /* CONFIG_ARCH_OMAP3 */
>
> #ifdef CONFIG_ARCH_OMAP4
> @@ -259,7 +276,7 @@ struct of_dev_auxdata omap_auxdata_lookup[] __initdata = {
> static struct pdata_init pdata_quirks[] __initdata = {
> #ifdef CONFIG_ARCH_OMAP3
> { "compulab,omap3-sbc-t3730", omap3_sbc_t3730_legacy_init, },
> - { "nokia,omap3-n900", hsmmc2_internal_input_clk, },
> + { "nokia,omap3-n900", nokia_n900_legacy_init, },
> { "nokia,omap3-n9", hsmmc2_internal_input_clk, },
> { "nokia,omap3-n950", hsmmc2_internal_input_clk, },
> { "isee,omap3-igep0020", omap3_igep0020_legacy_init, },
> --
> 1.8.5.3
>
Hello,
I have two questions:
1) Why are you using if (IS_ENABLED(CONFIG_ARM_ERRATA_430973)) instead #ifdef ?
2) Why do you not write warning or info when omap type is not
OMAP2_DEVICE_TYPE_SEC (e.g qemu) ?
--
Pali Rohár
pali.rohar@...il.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists