Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 245615
b: refs/heads/master
c: 75c4fd8
h: refs/heads/master
i:
  245613: 4814f29
  245611: e61111a
  245607: 5509b27
  245599: 1a6c568
v: v3
  • Loading branch information
John Stultz authored and John Stultz committed Feb 21, 2011
1 parent b10a8b5 commit cc7c50a
Show file tree
Hide file tree
Showing 14 changed files with 15 additions and 67 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: 39280742efb00ab61ad62486c737fdd3e980c30f
refs/heads/master: 75c4fd8c7862f37eeae5c80f33bbe4dce97571d4
3 changes: 1 addition & 2 deletions trunk/arch/mips/alchemy/common/time.c
Original file line number Diff line number Diff line change
Expand Up @@ -141,8 +141,7 @@ static int __init alchemy_time_init(unsigned int m2int)
goto cntr_err;

/* register counter1 clocksource and event device */
clocksource_set_clock(&au1x_counter1_clocksource, 32768);
clocksource_register(&au1x_counter1_clocksource);
clocksource_register_hz(&au1x_counter1_clocksource, 32768);

cd->shift = 32;
cd->mult = div_sc(32768, NSEC_PER_SEC, cd->shift);
Expand Down
3 changes: 1 addition & 2 deletions trunk/arch/mips/cavium-octeon/csrc-octeon.c
Original file line number Diff line number Diff line change
Expand Up @@ -105,8 +105,7 @@ unsigned long long notrace sched_clock(void)
void __init plat_time_init(void)
{
clocksource_mips.rating = 300;
clocksource_set_clock(&clocksource_mips, octeon_get_clock_rate());
clocksource_register(&clocksource_mips);
clocksource_register_hz(&clocksource_mips, octeon_get_clock_rate());
}

static u64 octeon_udelay_factor;
Expand Down
6 changes: 0 additions & 6 deletions trunk/arch/mips/include/asm/time.h
Original file line number Diff line number Diff line change
Expand Up @@ -84,12 +84,6 @@ static inline int init_mips_clocksource(void)
#endif
}

static inline void clocksource_set_clock(struct clocksource *cs,
unsigned int clock)
{
clocksource_calc_mult_shift(cs, clock, 4);
}

static inline void clockevent_set_clock(struct clock_event_device *cd,
unsigned int clock)
{
Expand Down
3 changes: 1 addition & 2 deletions trunk/arch/mips/jz4740/time.c
Original file line number Diff line number Diff line change
Expand Up @@ -121,8 +121,7 @@ void __init plat_time_init(void)

clockevents_register_device(&jz4740_clockevent);

clocksource_set_clock(&jz4740_clocksource, clk_rate);
ret = clocksource_register(&jz4740_clocksource);
ret = clocksource_register_hz(&jz4740_clocksource, clk_rate);

if (ret)
printk(KERN_ERR "Failed to register clocksource: %d\n", ret);
Expand Down
3 changes: 1 addition & 2 deletions trunk/arch/mips/kernel/cevt-txx9.c
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,7 @@ void __init txx9_clocksource_init(unsigned long baseaddr,
{
struct txx9_tmr_reg __iomem *tmrptr;

clocksource_set_clock(&txx9_clocksource.cs, TIMER_CLK(imbusclk));
clocksource_register(&txx9_clocksource.cs);
clocksource_register_hz(&txx9_clocksource.cs, TIMER_CLK(imbusclk));

tmrptr = ioremap(baseaddr, sizeof(struct txx9_tmr_reg));
__raw_writel(TCR_BASE, &tmrptr->tcr);
Expand Down
3 changes: 1 addition & 2 deletions trunk/arch/mips/kernel/csrc-bcm1480.c
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,5 @@ void __init sb1480_clocksource_init(void)

plldiv = G_BCM1480_SYS_PLL_DIV(__raw_readq(IOADDR(A_SCD_SYSTEM_CFG)));
zbbus = ((plldiv >> 1) * 50000000) + ((plldiv & 1) * 25000000);
clocksource_set_clock(cs, zbbus);
clocksource_register(cs);
clocksource_register_hz(cs, zbbus);
}
4 changes: 1 addition & 3 deletions trunk/arch/mips/kernel/csrc-ioasic.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,5 @@ void __init dec_ioasic_clocksource_init(void)
printk(KERN_INFO "I/O ASIC clock frequency %dHz\n", freq);

clocksource_dec.rating = 200 + freq / 10000000;
clocksource_set_clock(&clocksource_dec, freq);

clocksource_register(&clocksource_dec);
clocksource_register_hz(&clocksource_dec, freq);
}
35 changes: 3 additions & 32 deletions trunk/arch/mips/kernel/csrc-powertv.c
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,7 @@ static void __init powertv_c0_hpt_clocksource_init(void)

clocksource_mips.rating = 200 + mips_hpt_frequency / 10000000;

clocksource_set_clock(&clocksource_mips, mips_hpt_frequency);

clocksource_register(&clocksource_mips);
clocksource_register_hz(&clocksource_mips, mips_hpt_frequency);
}

/**
Expand Down Expand Up @@ -130,43 +128,16 @@ static struct clocksource clocksource_tim_c = {
/**
* powertv_tim_c_clocksource_init - set up a clock source for the TIM_C clock
*
* The hard part here is coming up with a constant k and shift s such that
* the 48-bit TIM_C value multiplied by k doesn't overflow and that value,
* when shifted right by s, yields the corresponding number of nanoseconds.
* We know that TIM_C counts at 27 MHz/8, so each cycle corresponds to
* 1 / (27,000,000/8) seconds. Multiply that by a billion and you get the
* number of nanoseconds. Since the TIM_C value has 48 bits and the math is
* done in 64 bits, avoiding an overflow means that k must be less than
* 64 - 48 = 16 bits.
* 1 / (27,000,000/8) seconds.
*/
static void __init powertv_tim_c_clocksource_init(void)
{
int prescale;
unsigned long dividend;
unsigned long k;
int s;
const int max_k_bits = (64 - 48) - 1;
const unsigned long billion = 1000000000;
const unsigned long counts_per_second = 27000000 / 8;

prescale = BITS_PER_LONG - ilog2(billion) - 1;
dividend = billion << prescale;
k = dividend / counts_per_second;
s = ilog2(k) - max_k_bits;

if (s < 0)
s = prescale;

else {
k >>= s;
s += prescale;
}

clocksource_tim_c.mult = k;
clocksource_tim_c.shift = s;
clocksource_tim_c.rating = 200;

clocksource_register(&clocksource_tim_c);
clocksource_register_hz(&clocksource_tim_c, counts_per_second);
tim_c = (struct tim_c *) asic_reg_addr(tim_ch);
}

Expand Down
4 changes: 1 addition & 3 deletions trunk/arch/mips/kernel/csrc-r4k.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,7 @@ int __init init_r4k_clocksource(void)
/* Calculate a somewhat reasonable rating value */
clocksource_mips.rating = 200 + mips_hpt_frequency / 10000000;

clocksource_set_clock(&clocksource_mips, mips_hpt_frequency);

clocksource_register(&clocksource_mips);
clocksource_register_hz(&clocksource_mips, mips_hpt_frequency);

return 0;
}
3 changes: 1 addition & 2 deletions trunk/arch/mips/kernel/csrc-sb1250.c
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,5 @@ void __init sb1250_clocksource_init(void)
IOADDR(A_SCD_TIMER_REGISTER(SB1250_HPT_NUM,
R_SCD_TIMER_CFG)));

clocksource_set_clock(cs, V_SCD_TIMER_FREQ);
clocksource_register(cs);
clocksource_register_hz(cs, V_SCD_TIMER_FREQ);
}
5 changes: 1 addition & 4 deletions trunk/arch/mips/kernel/i8253.c
Original file line number Diff line number Diff line change
Expand Up @@ -196,16 +196,13 @@ static struct clocksource clocksource_pit = {
.rating = 110,
.read = pit_read,
.mask = CLOCKSOURCE_MASK(32),
.mult = 0,
.shift = 20,
};

static int __init init_pit_clocksource(void)
{
if (num_possible_cpus() > 1) /* PIT does not scale! */
return 0;

clocksource_pit.mult = clocksource_hz2mult(CLOCK_TICK_RATE, 20);
return clocksource_register(&clocksource_pit);
return clocksource_register_hz(&clocksource_pit, CLOCK_TICK_RATE);
}
arch_initcall(init_pit_clocksource);
5 changes: 1 addition & 4 deletions trunk/arch/mips/loongson/common/cs5536/cs5536_mfgpt.c
Original file line number Diff line number Diff line change
Expand Up @@ -201,17 +201,14 @@ static struct clocksource clocksource_mfgpt = {
.rating = 120, /* Functional for real use, but not desired */
.read = mfgpt_read,
.mask = CLOCKSOURCE_MASK(32),
.mult = 0,
.shift = 22,
};

int __init init_mfgpt_clocksource(void)
{
if (num_possible_cpus() > 1) /* MFGPT does not scale! */
return 0;

clocksource_mfgpt.mult = clocksource_hz2mult(MFGPT_TICK_RATE, 22);
return clocksource_register(&clocksource_mfgpt);
return clocksource_register_hz(&clocksource_mfgpt, MFGPT_TICK_RATE);
}

arch_initcall(init_mfgpt_clocksource);
3 changes: 1 addition & 2 deletions trunk/arch/mips/sgi-ip27/ip27-timer.c
Original file line number Diff line number Diff line change
Expand Up @@ -177,8 +177,7 @@ static void __init hub_rt_clocksource_init(void)
{
struct clocksource *cs = &hub_rt_clocksource;

clocksource_set_clock(cs, CYCLES_PER_SEC);
clocksource_register(cs);
clocksource_register_hz(cs, CYCLES_PER_SEC);
}

void __init plat_time_init(void)
Expand Down

0 comments on commit cc7c50a

Please sign in to comment.