Messages in this thread | | | Date | Tue, 26 Mar 2019 22:03:02 +0100 (CET) | From | Thomas Gleixner <> | Subject | Re: [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
| |