Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 279504
b: refs/heads/master
c: d8afc6f
h: refs/heads/master
v: v3
  • Loading branch information
Anton Blanchard authored and Benjamin Herrenschmidt committed Nov 25, 2011
1 parent 6120c04 commit 0d8c247
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 29 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 37fb9a0231ee43d42d069863bdfd567fca2b61af
refs/heads/master: d8afc6fd95496204174f19af0cb39eefee0c3e8a
30 changes: 2 additions & 28 deletions trunk/arch/powerpc/kernel/time.c
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,6 @@ static void decrementer_set_mode(enum clock_event_mode mode,
static struct clock_event_device decrementer_clockevent = {
.name = "decrementer",
.rating = 200,
.shift = 0, /* To be filled in */
.mult = 0, /* To be filled in */
.irq = 0,
.set_next_event = decrementer_set_next_event,
.set_mode = decrementer_set_mode,
Expand Down Expand Up @@ -913,31 +911,6 @@ static void decrementer_set_mode(enum clock_event_mode mode,
decrementer_set_next_event(DECREMENTER_MAX, dev);
}

static inline uint64_t div_sc64(unsigned long ticks, unsigned long nsec,
int shift)
{
uint64_t tmp = ((uint64_t)ticks) << shift;

do_div(tmp, nsec);
return tmp;
}

static void __init setup_clockevent_multiplier(unsigned long hz)
{
u64 mult, shift = 32;

while (1) {
mult = div_sc64(hz, NSEC_PER_SEC, shift);
if (mult && (mult >> 32UL) == 0UL)
break;

shift--;
}

decrementer_clockevent.shift = shift;
decrementer_clockevent.mult = mult;
}

static void register_decrementer_clockevent(int cpu)
{
struct clock_event_device *dec = &per_cpu(decrementers, cpu).event;
Expand All @@ -955,7 +928,8 @@ static void __init init_decrementer_clockevent(void)
{
int cpu = smp_processor_id();

setup_clockevent_multiplier(ppc_tb_freq);
clockevents_calc_mult_shift(&decrementer_clockevent, ppc_tb_freq, 4);

decrementer_clockevent.max_delta_ns =
clockevent_delta2ns(DECREMENTER_MAX, &decrementer_clockevent);
decrementer_clockevent.min_delta_ns =
Expand Down

0 comments on commit 0d8c247

Please sign in to comment.