Karmic fsl-imx51 SRU: only export NEON flag to userspace on Freescale iMX51 rev3.x or later silicon
Amit Kucheria
amit.kucheria at canonical.com
Fri Feb 12 09:23:04 UTC 2010
On 10 Feb 11, Tim Gardner wrote:
> The following changes since commit 4b1196706272826e74e35e9ebf2cc94ba8d4062c:
> Leann Ogasawara (1):
> UBUNTU: Ubuntu-2.6.31-108.21
>
> are available in the git repository at:
>
> git://kernel.ubuntu.com/rtg/ubuntu-karmic fsl-imx51-neon
>
> Bryan Wu (1):
> UBUNTU: SAUCE: IMX51: only export NEON flag to userspace on Freescale iMX51 rev3.x or later silicon
>
> arch/arm/vfp/vfpmodule.c | 7 ++++++-
> 1 files changed, 6 insertions(+), 1 deletions(-)
>
> From d77e3635c6d402cebdda49f654402c67460acfab Mon Sep 17 00:00:00 2001
> From: Bryan Wu <bryan.wu at canonical.com>
> Date: Tue, 26 Jan 2010 19:00:22 +0000
> Subject: [PATCH] UBUNTU: SAUCE: IMX51: only export NEON flag to userspace on Freescale iMX51 rev3.x or later silicon
>
> BugLink: http://bugs.launchpad.net/bugs/507416
>
> NEON function is broken on old Freescale iMX51 silicons, such as rev1.x and
> rev2.x. Since more and more iMX51 based products will move to rev3.x or later
> silicon, we need to enable NEON on these newer silicons and disable NEON on
> those old ones.
>
> This patch will detect the silicon revision dynamically and only export NEON
> flag to userspace on Freescale iMX51 rev3.x or later silicon. It was tested on
> Babbage 3.0 board and Babbage 2.x board.
>
> Signed-off-by: Bryan Wu <bryan.wu at canonical.com>
> Signed-off-by: Andy Whitcroft <apw at canonical.com>
> Signed-off-by: Tim Gardner <tim.gardner at canonical.com>
> ---
> arch/arm/vfp/vfpmodule.c | 7 ++++++-
> 1 files changed, 6 insertions(+), 1 deletions(-)
>
> diff --git a/arch/arm/vfp/vfpmodule.c b/arch/arm/vfp/vfpmodule.c
> index 2d7423a..e0d6b01 100644
> --- a/arch/arm/vfp/vfpmodule.c
> +++ b/arch/arm/vfp/vfpmodule.c
> @@ -432,6 +432,10 @@ out:
>
> #include <linux/smp.h>
>
> +#if defined(CONFIG_ARCH_MX51) && defined(CONFIG_NEON)
> +#include <mach/hardware.h>
> +#endif
> +
> /*
> * VFP support code initialisation.
> */
> @@ -498,7 +502,8 @@ static int __init vfp_init(void)
> * load/store instructions, integer and single
> * precision floating point operations.
> */
> - if ((fmrx(MVFR1) & 0x000fff00) == 0x00011100)
> + if (((fmrx(MVFR1) & 0x000fff00) == 0x00011100)
> + && cpu_is_mx51_rev(CHIP_REV_3_0) > 0)
> elf_hwcap |= HWCAP_NEON;
> #endif
> }
Change looks correct.
Acked-by: Amit Kucheria <amit.kucheria at canonical.com>
--
----------------------------------------------------------------------
Amit Kucheria, Kernel Engineer || amit.kucheria at canonical.com
----------------------------------------------------------------------
More information about the kernel-team
mailing list