Re: [PATCH v4 2/2] driver: clocksource: Add nxp system counter timer driver support

From: Daniel Lezcano
Date: Tue May 21 2019 - 08:23:01 EST


On 21/05/2019 14:01, Jacky Bai wrote:
>
>> -----Original Message-----
>> From: Daniel Lezcano [mailto:daniel.lezcano@xxxxxxxxxx]
>> Sent: Tuesday, May 21, 2019 6:08 PM
>> To: Jacky Bai <ping.bai@xxxxxxx>; tglx@xxxxxxxxxxxxx; robh+dt@xxxxxxxxxx;
>> shawnguo@xxxxxxxxxx; mark.rutland@xxxxxxx; Aisheng Dong
>> <aisheng.dong@xxxxxxx>
>> Cc: linux-kernel@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; dl-linux-imx
>> <linux-imx@xxxxxxx>
>> Subject: Re: [PATCH v4 2/2] driver: clocksource: Add nxp system counter timer
>> driver support
>>
>> On 21/05/2019 09:18, Jacky Bai wrote:
>>> From: Bai Ping <ping.bai@xxxxxxx>
>>>
>>> The system counter (sys_ctr) is a programmable system counter which
>>> provides a shared time base to the Cortex A15, A7, A53 etc cores.
>>> It is intended for use in applications where the counter is always
>>> powered on and supports multiple, unrelated clocks. The sys_ctr
>>> hardware
>>> supports:
>>> - 56-bit counter width (roll-over time greater than 40 years)
>>
>> The benefit of using more than 32bits on a 32bits system is not proven.
>>
>
> It is mainly used on 64bit ARMv8 system.

Oh, ok. Fair enough.

>
>> The function to read and build the 56bits value can have a very significant
>> impact on the performance of your platform.
>>
>> Using a 32bits counter can be enough if it does not wrap too fast.
>>
>> Can you consider a 32 bits counter ?
>
> this counter is ARMv8 arch timer's counter source. As it also has timer function, so I choose it
> to act as a broadcast timer for cpuidle. The timer interrupt can only be triggered when 'compare[55:0] <= counter[55:0]'.
> So you mean that only use the lower 32bit to implement this timer? If so, I can change to use only the lower 32bit.

IMO it is preferable but you decide (probably compare with how long it
takes to wrap when 32bits).



--
<http://www.linaro.org/> Linaro.org â Open source software for ARM SoCs

Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog