Hi Will, On Tue, March 8, 2011 6:52 am, Will Deacon wrote: > [...] > >> +static DEFINE_PER_CPU(u32, venum_orig_val); >> +static DEFINE_PER_CPU(u32, fp_orig_val); >> + >> +static void scorpion_pre_vlpm(void) >> +{ >> + u32 venum_new_val; >> + u32 fp_new_val; >> + /* CPACR Enable CP10 access*/ >> + asm volatile("mrc p15, 0, %0, c1, c0, 2" : "=r" (venum_orig_val)); >> + venum_new_val = venum_orig_val | 0x00100000; >> + asm volatile("mcr p15, 0, %0, c1, c0, 2" : : "r" (venum_new_val)); >> + isb(); >> + /* Enable FPEXC */ >> + fp_orig_val = fmrx(FPEXC); >> + fp_new_val = fp_orig_val | FPEXC_EN; >> + fmxr(FPEXC, fp_new_val); >> +} >> + > > When I looked at this originally, I thought it would be nice to have > some functions or macros for poking with the CPACR and planned to submit > that as a separate patch... > > ... well it turns out we already have this! Please can you update this > bit of code to use the {get,set}_copro_access functions in asm/system.h? > You can use the CPACC_SVC macro to generate the access mask too instead > of hardcoding the 0x00100000. Great! I have made the change and reposted the patch. Please let me know if it looks good. Thanks, Sheetal -- Sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum. -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html