> -----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; linuxppc-dev@lists.ozlabs.org; > 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: > > > > > > > -----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 > > > > > > On 03/22/2013 01:14:51 AM, Wang Dongsheng-B40534 wrote: > > > > > > > > > > > > > -----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; > > > > > Li Yang-R58472 > > > > > Subject: Re: [PATCH 2/3] powerpc/mpic: add global timer support > > > > > > > > > > BTW, the input clock frequency has been similarly scaled, yet > > you > > > > don't > > > > > 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. > > > > > > 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 = (__kernel_time_t)div_u64(ticks, > > priv->timerfreq); > > tmp_sec = (u64)time->tv_sec * (u64)priv->timerfreq; > > > > time->tv_usec = (__kernel_suseconds_t) > > div_u64((ticks - tmp_sec) * 1000000, priv->timerfreq); > > > > return; > > } > > > > timer_group_get_freq() { > > ... > > if (priv->flags & FSL_GLOBAL_TIMER) { > > div = (1 << (MPIC_TIMER_TCR_CLKDIV_64 >> 8)) * 8; > > priv->timerfreq /= div; > > } > > ... > > } > > Do you want to do that? > > if (priv->flags & FSL_GLOBAL_TIMER) > priv->timerfreq /= 64; > > ...but otherwise yes. Ok, I would like do this.
if (priv->flags & FSL_GLOBAL_TIMER) { div = (1 << (MPIC_TIMER_TCR_CLKDIV_64 >> 8)) * 8; priv->timerfreq /= div; } _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev