Merge branches 'clockevents/4.4-fixes' and 'clockevents/4.5-fixes' of http://git.linaro.org/people/daniel.lezcano/linux into timers/urgent
Pull in fixes from Daniel Lezcano: - Fix the vt8500 timer leading to a system lock up when dealing with too small delta (Roman Volkov) - Select the CLKSRC_MMIO when the fsl_ftm_timer is enabled with COMPILE_TEST (Daniel Lezcano) - Prevent to compile timers using the 'iomem' API when the architecture has not HAS_IOMEM set (Richard Weinberger)
This commit is contained in:
@@ -55,7 +55,7 @@ int __init clocksource_mmio_init(void __iomem *base, const char *name,
|
||||
{
|
||||
struct clocksource_mmio *cs;
|
||||
|
||||
if (bits > 32 || bits < 16)
|
||||
if (bits > 64 || bits < 16)
|
||||
return -EINVAL;
|
||||
|
||||
cs = kzalloc(sizeof(struct clocksource_mmio), GFP_KERNEL);
|
||||
|
@@ -49,6 +49,8 @@
|
||||
|
||||
#define msecs_to_loops(t) (loops_per_jiffy / 1000 * HZ * t)
|
||||
|
||||
#define MIN_OSCR_DELTA 16
|
||||
|
||||
static void __iomem *regbase;
|
||||
|
||||
static cycle_t vt8500_timer_read(struct clocksource *cs)
|
||||
@@ -79,7 +81,7 @@ static int vt8500_timer_set_next_event(unsigned long cycles,
|
||||
cpu_relax();
|
||||
writel((unsigned long)alarm, regbase + TIMER_MATCH_VAL);
|
||||
|
||||
if ((signed)(alarm - clocksource.read(&clocksource)) <= 16)
|
||||
if ((signed)(alarm - clocksource.read(&clocksource)) <= MIN_OSCR_DELTA)
|
||||
return -ETIME;
|
||||
|
||||
writel(1, regbase + TIMER_IER_VAL);
|
||||
@@ -150,7 +152,7 @@ static void __init vt8500_timer_init(struct device_node *np)
|
||||
pr_err("%s: setup_irq failed for %s\n", __func__,
|
||||
clockevent.name);
|
||||
clockevents_config_and_register(&clockevent, VT8500_TIMER_HZ,
|
||||
4, 0xf0000000);
|
||||
MIN_OSCR_DELTA * 2, 0xf0000000);
|
||||
}
|
||||
|
||||
CLOCKSOURCE_OF_DECLARE(vt8500, "via,vt8500-timer", vt8500_timer_init);
|
||||
|
Reference in New Issue
Block a user