Re: [PATCH 2/3] powerpc/mpic: add global timer support
From: Scott Wood <hidden>
Date: 2013-03-27 17:11:51
On 03/26/2013 10:23:38 PM, Wang Dongsheng-B40534 wrote:
=20 =20quoted
-----Original Message----- From: Wood Scott-B07421 Sent: Wednesday, March 27, 2013 1:32 AM To: Wang Dongsheng-B40534 Cc: Wood Scott-B07421; Gala Kumar-B11780; =20linuxppc-dev@lists.ozlabs.org;quoted
Li Yang-R58472 Subject: Re: [PATCH 2/3] powerpc/mpic: add global timer support On 03/25/2013 10:29:58 PM, Wang Dongsheng-B40534 wrote:quoted
quoted
-----Original Message----- From: Wood Scott-B07421 Sent: Saturday, March 23, 2013 6:30 AM To: Wang Dongsheng-B40534 Cc: Wood Scott-B07421; Gala Kumar-B11780;linuxppc-dev@lists.ozlabs.org;quoted
Li Yang-R58472 Subject: Re: [PATCH 2/3] powerpc/mpic: add global timer support On 03/22/2013 01:14:51 AM, Wang Dongsheng-B40534 wrote:quoted
quoted
-----Original Message----- From: Wood Scott-B07421 Sent: Thursday, March 21, 2013 7:00 AM To: Wang Dongsheng-B40534 Cc: Wood Scott-B07421; Gala Kumar-B11780;linuxppc-dev@lists.ozlabs.org;quoted
Li Yang-R58472 Subject: Re: [PATCH 2/3] powerpc/mpic: add global timer =20supportquoted
quoted
quoted
quoted
quoted
BTW, the input clock frequency has been similarly scaled, =20yetquoted
quoted
youquoted
quoted
don'tquoted
try to scrounge up that information to get further =20precision...quoted
quoted
quoted
quoted
quoted
Let's go back patch, do you think the code is repeated? I will remove "if (!(priv->flags & FSL_GLOBAL_TIMER))" branch,therequoted
quoted
will be no redundant code.I'd rather that branch be kept and the more complicated branchdeleted,quoted
and priv->timerfreq frequency be adjusted on initialization toaccountquoted
for the scaler.static void convert_ticks_to_time(struct timer_group_priv *priv, const u64 ticks, struct timeval *time) { u64 tmp_sec; time->tv_sec =3D (__kernel_time_t)div_u64(ticks, priv->timerfreq); tmp_sec =3D (u64)time->tv_sec * (u64)priv->timerfreq; time->tv_usec =3D (__kernel_suseconds_t) div_u64((ticks - tmp_sec) * 1000000, =20priv->timerfreq);quoted
quoted
return; } timer_group_get_freq() { ... if (priv->flags & FSL_GLOBAL_TIMER) { div =3D (1 << (MPIC_TIMER_TCR_CLKDIV_64 >> 8)) * 8; priv->timerfreq /=3D div; } ... } Do you want to do that?if (priv->flags & FSL_GLOBAL_TIMER) priv->timerfreq /=3D 64; ...but otherwise yes.Ok, I would like do this. =20 if (priv->flags & FSL_GLOBAL_TIMER) { div =3D (1 << (MPIC_TIMER_TCR_CLKDIV_64 >> 8)) * 8; priv->timerfreq /=3D div;
Why? What do you get out of that obfuscation? -Scott=