> -----Original Message----- > From: Wood Scott-B07421 > Sent: Thursday, March 28, 2013 1:12 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/26/2013 10:23:38 PM, Wang Dongsheng-B40534 wrote: > > > > > > > -----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; > > Why? What do you get out of that obfuscation? > Change MPIC_TIMER_TCR_CLKDIV_64 to MPIC_TIMER_TCR_CLKDIV
/* Clock Ratio * Divide by 64 0x00000300 * Divide by 32 0x00000200 * Divide by 16 0x00000100 * Divide by 8 0x00000000 (Hardware default div) */ #define MPIC_TIMER_TCR_CLKDIV 0x00000300 timer_group_init() { ... /* Init FSL timer hardware */ if (priv->flags & FSL_GLOBAL_TIMER) setbits32(priv->group_tcr, MPIC_TIMER_TCR_CLKDIV); ... } mpic_timer_resume() { ... /* Init FSL timer hardware */ if (priv->flags & FSL_GLOBAL_TIMER) setbits32(priv->group_tcr, MPIC_TIMER_TCR_CLKDIV); ... } Because macro is friendly, and other functions also used the macro. _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev