Karmic fsl-imx51 SRU: only export NEON flag to userspace on Freescale iMX51 rev3.x or later silicon

Colin Ian King colin.king at canonical.com
Fri Feb 12 10:36:06 UTC 2010


On Thu, 2010-02-11 at 14:08 -0700, 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
>  	}
> -- 
> 1.6.2.4
> 
> 
The change matches the description, and revision check looks sane to me.

Acked-by: Colin King <colin.king at canonical.com>






More information about the kernel-team mailing list