Subject: [PATCH V4] ARM: OMAP5/DRA7: realtime_counter: Configure CNTFRQ register

From: [email-masked] (Sricharan R)
Date: Wed, 9 Oct 2013 18:45:09 +0530

Santosh,

On Wednesday 09 October 2013 03:35 AM, Santosh Shilimkar wrote:
> On Tuesday 08 October 2013 05:45 PM, Tony Lindgren wrote:
>> * Sricharan R <[email-masked]> [131003 03:27]:
>>> On Wednesday 18 September 2013 09:32 PM, Sricharan R wrote:
>>>> --- a/arch/arm/boot/dts/omap5.dtsi
>>>> +++ b/arch/arm/boot/dts/omap5.dtsi
>>>> @@ -52,7 +52,6 @@
>>>>  			     <GIC_PPI 14 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_LEVEL_LOW)>,
>>>>  			     <GIC_PPI 11 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_LEVEL_LOW)>,
>>>>  			     <GIC_PPI 10 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_LEVEL_LOW)>;
>>>> -		clock-frequency = <6144000>;
>>>>  	};
>>>>  
>>>>  	gic: interrupt-controller at 48211000 {
>> Can the above be done later on in a separate clean-up patch?
>> If so I can drop that part as that removes a dependency to the
>> .dts patches queued by Benoit.
>>
> This can be applied separately. 
>
>  
>>>> --- a/arch/arm/mach-omap2/omap-smp.c
>>>> +++ b/arch/arm/mach-omap2/omap-smp.c
>>>> @@ -41,6 +41,8 @@
>>>>  
>>>>  u16 pm44xx_errata;
>>>>  
>>>> +extern unsigned long arch_timer_freq;
>>>> +
>>>>  /* SCU base address */
>>>>  static void __iomem *scu_base;
>>>>  
>> No externs in *.c files please, checkpatch.pl and sparse should warn
>> about this.
>>
>>>  Are you planning to pull this patch and the below $subject patch as well? They are
>>>  acked and tested.
>>>
>>>  ARM: DRA7: realtime_counter: Add ratio registers for 20MHZ sys-clk frequency
>>>
>>>   http://www.spinics.net/lists/linux-omap/msg97281.html
>> The 20MHz patch I've applied, just noticed the above things
>> when was about to apply this.
>>
> Now re-looking at the patch, I think this extern stuff can be and
> should be avoided. It needs order change though like below. Not
> tested but should work.
>
> diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c
> index fa74a06..c8d8308 100644
> --- a/arch/arm/mach-omap2/timer.c
> +++ b/arch/arm/mach-omap2/timer.c
> @@ -631,10 +631,9 @@ void __init omap4_local_timer_init(void)
>  #ifdef CONFIG_SOC_OMAP5
>  void __init omap5_realtime_timer_init(void)
>  {
> -	omap4_sync32k_timer_init();
>  	realtime_counter_init();
> -
>  	clocksource_of_init();
> +	omap4_sync32k_timer_init();
>  }
>  #endif /* CONFIG_SOC_OMAP5 */
>  
> Then, the CNTFREQ programming needs to be moved to
> realtime_counter_init(). It should be actually part of that
> first place instead of timer_init().
>
> On secondary CPU then a simple asm accessor can
> read the CNTFREQ and pass that to SMC.
Sorry,  I did not quite get you here. You mean an asm accessor to
 the read the variable that is set in timer.c ?

Regards,
 Sricharan