Re: [PATCH v2 2/3] [ARM] perfevents: Add support for Scorpion performance monitors

From: Sheetal Sahasrabudhe
Date: Tue Mar 08 2011 - 13:32:16 EST


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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/