RE: [PATCH 2/3] powerpc/mpic: add global timer support
From: Wang Dongsheng-B40534 <hidden>
Date: 2013-03-26 03:30:16
-----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; Li Yang-R58472 Subject: Re: [PATCH 2/3] powerpc/mpic: add global timer support =20 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 support BTW, the input clock frequency has been similarly scaled, yet youdon'tquoted
try to scrounge up that information to get further precision...Let's go back patch, do you think the code is repeated? I will remove "if (!(priv->flags & FSL_GLOBAL_TIMER))" branch, there will be no redundant code.=20 I'd rather that branch be kept and the more complicated branch deleted, and priv->timerfreq frequency be adjusted on initialization to account 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, priv->timerfreq);
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?