[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1383945677-29674-5-git-send-email-soren.brinkmann@xilinx.com>
Date: Fri, 8 Nov 2013 13:21:14 -0800
From: Soren Brinkmann <soren.brinkmann@...inx.com>
To: Rob Herring <rob.herring@...xeda.com>,
Pawel Moll <pawel.moll@....com>,
Mark Rutland <mark.rutland@....com>,
Stephen Warren <swarren@...dotorg.org>,
Ian Campbell <ijc+devicetree@...lion.org.uk>,
Russell King <linux@....linux.org.uk>,
Michal Simek <michal.simek@...inx.com>,
Daniel Lezcano <daniel.lezcano@...aro.org>,
Thomas Gleixner <tglx@...utronix.de>
Cc: linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
devicetree@...r.kernel.org,
Soren Brinkmann <soren.brinkmann@...inx.com>
Subject: [PATCH 4/7] clocksource/cadence_ttc: Adjust interval in clock notifier
The clockevent has to be reprogrammed if the timer's input
clock frequency changes and the timer is in periodic mode, in order to
maintain the correct timer interval.
Signed-off-by: Soren Brinkmann <soren.brinkmann@...inx.com>
---
drivers/clocksource/cadence_ttc_timer.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/clocksource/cadence_ttc_timer.c b/drivers/clocksource/cadence_ttc_timer.c
index a92350b55d32..68a336038d8f 100644
--- a/drivers/clocksource/cadence_ttc_timer.c
+++ b/drivers/clocksource/cadence_ttc_timer.c
@@ -338,6 +338,10 @@ static int ttc_rate_change_clockevent_cb(struct notifier_block *nb,
/* update cached frequency */
ttc->freq = ndata->new_rate;
+ if (ttcce->ce.mode == CLOCK_EVT_MODE_PERIODIC)
+ ttc_set_interval(ttc, DIV_ROUND_CLOSEST(ttc->freq,
+ PRESCALE * HZ));
+
/* fall through */
}
case PRE_RATE_CHANGE:
--
1.8.4.2
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists