On Tue, May 14, 2019 at 07:23:47AM -0700, Randy Dunlap wrote:
> On 5/14/19 7:01 AM, Ricardo Neri wrote:
> > It is easier to compute the expiration times of an HPET timer by using
> > its frequency (i.e., the number of times it ticks in a second) than its
> > period, as given in the capabilities register.
> > 
> > In addition to the HPET char driver, the HPET-based hardlockup detector
> > will also need to know the timer's frequency. Thus, create a common
> > function that both can use.
> > 
> > Cc: "H. Peter Anvin" <[email protected]>
> > Cc: Ashok Raj <[email protected]>
> > Cc: Andi Kleen <[email protected]>
> > Cc: Tony Luck <[email protected]>
> > Cc: Clemens Ladisch <[email protected]>
> > Cc: Arnd Bergmann <[email protected]>
> > Cc: Philippe Ombredanne <[email protected]>
> > Cc: Kate Stewart <[email protected]>
> > Cc: "Rafael J. Wysocki" <[email protected]>
> > Cc: Stephane Eranian <[email protected]>
> > Cc: Suravee Suthikulpanit <[email protected]>
> > Cc: "Ravi V. Shankar" <[email protected]>
> > Cc: [email protected]
> > Signed-off-by: Ricardo Neri <[email protected]>
> > ---
> >  drivers/char/hpet.c  | 31 ++++++++++++++++++++++++-------
> >  include/linux/hpet.h |  1 +
> >  2 files changed, 25 insertions(+), 7 deletions(-)
> > 
> > diff --git a/drivers/char/hpet.c b/drivers/char/hpet.c
> > index d0ad85900b79..bdcbecfdb858 100644
> > --- a/drivers/char/hpet.c
> > +++ b/drivers/char/hpet.c
> > @@ -836,6 +836,29 @@ static unsigned long hpet_calibrate(struct hpets 
> > *hpetp)
> >     return ret;
> >  }
> >  
> > +u64 hpet_get_ticks_per_sec(u64 hpet_caps)
> > +{
> > +   u64 ticks_per_sec, period;
> > +
> > +   period = (hpet_caps & HPET_COUNTER_CLK_PERIOD_MASK) >>
> > +            HPET_COUNTER_CLK_PERIOD_SHIFT; /* fs, 10^-15 */
> > +
> > +   /*
> > +    * The frequency is the reciprocal of the period. The period is given
> > +    * femtoseconds per second. Thus, prepare a dividend to obtain the
> 
>        * in femtoseconds per second.
> 

Thanks for your review Randy! I'll fix this grammar issue.
> > +    * frequency in ticks per second.
> > +    */
> > +
> > +   /* 10^15 femtoseconds per second */
> > +   ticks_per_sec = 1000000000000000uLL;
> 
>       ULL is overwhelmingly used in the kernel.
> 

Sure, I'll update it.

BR,
Ricardo

Reply via email to