lkml.org 
[lkml]   [2019]   [Dec]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 1/3] clocksource: davinci: work around a clocksource problem on dm365 SoC
From
Date
On 12/17/19 2:00 AM, Bartosz Golaszewski wrote:
> pon., 16 gru 2019 o 18:58 David Lechner <david@lechnology.com> napisał(a):
>>
>>>
>>> +static unsigned int davinci_clocksource_tim32_mode;
>>
>> static unsigned bool davinci_clocksource_initialized;
>>
>>> +
>>> static struct davinci_clockevent *
>>> to_davinci_clockevent(struct clock_event_device *clockevent)
>>> {
>>> @@ -94,7 +96,7 @@ static void davinci_tim12_shutdown(void __iomem *base)
>>> * halves. In this case TIM34 runs in periodic mode and we must
>>> * not modify it.
>>> */
>>> - tcr |= DAVINCI_TIMER_ENAMODE_PERIODIC <<
>>> + tcr |= davinci_clocksource_tim32_mode <<
>>> DAVINCI_TIMER_ENAMODE_SHIFT_TIM34;
>>
>> if (davinci_clocksource_initialized)
>> tcr |= DAVINCI_TIMER_ENAMODE_PERIODIC <<
>> DAVINCI_TIMER_ENAMODE_SHIFT_TIM34;
>
> I thought about doing this initially, but then figured this code would
> be called a lot, so why not avoid branching and just store the right
> value? Alternatively we can do:
>
> if (likely(davinci_clocksource_initialized)
> ....
>

Unless there is a measurable performance difference, I think it
would be better with if/likely.

\
 
 \ /
  Last update: 2019-12-17 18:02    [W:0.064 / U:3.780 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site