lkml.org 
[lkml]   [2019]   [Mar]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC PATCH v2 03/14] x86/hpet: Calculate ticks-per-second in a separate function
On Wed, 27 Feb 2019, Ricardo Neri wrote:
> int hpet_alloc(struct hpet_data *hdp)
> {
> u64 cap, mcfg;
> @@ -845,7 +868,6 @@ int hpet_alloc(struct hpet_data *hdp)
> size_t siz;
> struct hpet __iomem *hpet;
> static struct hpets *last;
> - unsigned long period;
> unsigned long long temp;
> u32 remainder;
>
> @@ -881,6 +903,8 @@ int hpet_alloc(struct hpet_data *hdp)
>
> cap = readq(&hpet->hpet_cap);
>
> + temp = hpet_get_ticks_per_sec(cap);

Just putting stuff to random places does not make the code any better.

> ntimer = ((cap & HPET_NUM_TIM_CAP_MASK) >> HPET_NUM_TIM_CAP_SHIFT) + 1;
>
> if (hpetp->hp_ntimer != ntimer) {
> @@ -897,11 +921,6 @@ int hpet_alloc(struct hpet_data *hdp)
>
> last = hpetp;
>
> - period = (cap & HPET_COUNTER_CLK_PERIOD_MASK) >>
> - HPET_COUNTER_CLK_PERIOD_SHIFT; /* fs, 10^-15 */
> - temp = 1000000000000000uLL; /* 10^15 femtoseconds per second */
> - temp += period >> 1; /* round */
> - do_div(temp, period);
> hpetp->hp_tick_freq = temp; /* ticks per second */

What's wrong with the obvious:

hpetp->hp_tick_freq = hpet_get_ticks_per_sec(cap);

Hmm?

Thanks,

tglx

\
 
 \ /
  Last update: 2019-03-26 22:03    [W:1.508 / U:0.096 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site