Messages in this thread Patch in this message | | | From | Maxime Ripard <> | Subject | [PATCHv3 08/10] clocksource: sun4i: Remove TIMER_SCAL variable | Date | Fri, 5 Jul 2013 21:34:35 +0200 |
| |
The prescaler is only used when using the internal low frequency oscillator (at 32kHz). Since we're using the higher frequency oscillator at 24MHz, we can just remove it.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> --- drivers/clocksource/sun4i_timer.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/drivers/clocksource/sun4i_timer.c b/drivers/clocksource/sun4i_timer.c index 00e17d9..2f84075 100644 --- a/drivers/clocksource/sun4i_timer.c +++ b/drivers/clocksource/sun4i_timer.c @@ -34,8 +34,6 @@ #define TIMER_INTVAL_REG(val) (0x10 * (val) + 0x14) #define TIMER_CNTVAL_REG(val) (0x10 * (val) + 0x18) -#define TIMER_SCAL 16 - static void __iomem *timer_base; /* @@ -139,7 +137,6 @@ static u32 sun4i_timer_sched_read(void) static void __init sun4i_timer_init(struct device_node *node) { - unsigned long rate = 0; struct clk *clk; int ret, irq; u32 val; @@ -157,8 +154,6 @@ static void __init sun4i_timer_init(struct device_node *node) panic("Can't get timer clock"); clk_prepare_enable(clk); - rate = clk_get_rate(clk); - writel(~0, timer_base + TIMER_INTVAL_REG(1)); writel(TIMER_CTL_ENABLE | TIMER_CTL_RELOAD | TIMER_CTL_CLK_SRC(TIMER_CTL_CLK_SRC_OSC24M), @@ -169,7 +164,7 @@ static void __init sun4i_timer_init(struct device_node *node) clk_get_rate(clk), 300, 32, clocksource_mmio_readl_down); - writel(rate / (TIMER_SCAL * HZ), + writel(clk_get_rate(clk) / HZ, timer_base + TIMER_INTVAL_REG(0)); /* set clock source to HOSC, 16 pre-division */ @@ -193,8 +188,8 @@ static void __init sun4i_timer_init(struct device_node *node) sun4i_clockevent.cpumask = cpumask_of(0); - clockevents_config_and_register(&sun4i_clockevent, rate / TIMER_SCAL, - 0x1, 0xff); + clockevents_config_and_register(&sun4i_clockevent, clk_get_rate(clk), + 0x1, 0xffffffff); } CLOCKSOURCE_OF_DECLARE(sun4i, "allwinner,sun4i-timer", sun4i_timer_init); -- 1.8.3.2
| |