lkml.org 
[lkml]   [2015]   [Jan]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH V2] clockevents: rockchip: Add rockchip timer for rk3288
On 01/26/2015 02:25 AM, Kever Yang wrote:
> Hi Daniel,

Hi Kever,

[ ... ]

>> +static inline int rk_timer_set_next_event(unsigned long cycles,
>> + struct clock_event_device *ce)
>> +{
>> + rk_timer_disable(ce);
>> + rk_timer_update_counter(cycles, ce);
>> + rk_timer_enable(ce, TIMER_MODE_USER_DEFINED_COUNT);
>> + return 0;
>> +}
>> +
>> +static inline void rk_timer_set_mode(enum clock_event_mode mode,
>> + struct clock_event_device *ce)
>> +{
>> + switch (mode) {
>> + case CLOCK_EVT_MODE_PERIODIC:
>> + rk_timer_disable(ce);
>> + rk_timer_update_counter(rk_timer(ce)->freq / HZ - 1, ce);
>> + rk_timer_enable(ce, TIMER_MODE_FREE_RUNNING);
>> + case CLOCK_EVT_MODE_ONESHOT:
> This driver seems init the timer as ONE SHOT mode, and we can
> set to PERIODIC by this code, but what if user set the timer
> as PERIODIC mode and then want to set back to ONESHOT mode?

Mmh, I think that will be followed by a call set_next_event, hence
disabling the timer and set the right mode with the next event.


--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog



\
 
 \ /
  Last update: 2015-01-26 11:01    [W:0.080 / U:0.096 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site