Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 06cad098 authored by Kevin Hilman's avatar Kevin Hilman Committed by Tony Lindgren
Browse files

ARM: OMAP: Fix clockevent support for hrtimers



One-shot mode was broken in MPU-timer support for OMAP1 due to a typo.

Also, ensure timer is stopped before changing the auto-reload flag.
The TRM says changing the AR flag when timer is running is undefined.

Also set GENERIC_CLOCKEVENTS for all omaps.

Signed-off-by: default avatarTim Bird <tim.bird@am.sony.com>
Signed-off-by: default avatarKevin Hilman <khilman@mvista.com>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent 457fb605
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -469,6 +469,7 @@ config ARCH_OMAP
	bool "TI OMAP"
	select GENERIC_GPIO
	select GENERIC_TIME
	select GENERIC_CLOCKEVENTS
	help
	  Support for TI's OMAP platform (OMAP1 and OMAP2).

+9 −1
Original line number Diff line number Diff line
@@ -132,6 +132,13 @@ static inline void omap_mpu_timer_start(int nr, unsigned long load_val,
	timer->cntl = timerflags;
}

static inline void omap_mpu_timer_stop(int nr)
{
	volatile omap_mpu_timer_regs_t* timer = omap_mpu_timer_base(nr);

	timer->cntl &= ~MPU_TIMER_ST;
}

/*
 * ---------------------------------------------------------------------------
 * MPU timer 1 ... count down to zero, interrupt, reload
@@ -152,6 +159,7 @@ static void omap_mpu_set_mode(enum clock_event_mode mode,
		omap_mpu_set_autoreset(0);
		break;
	case CLOCK_EVT_MODE_ONESHOT:
		omap_mpu_timer_stop(0);
		omap_mpu_remove_autoreset(0);
		break;
	case CLOCK_EVT_MODE_UNUSED:
+0 −1
Original line number Diff line number Diff line
@@ -11,7 +11,6 @@ choice

config ARCH_OMAP1
	bool "TI OMAP1"
	select GENERIC_CLOCKEVENTS

config ARCH_OMAP2
	bool "TI OMAP2"