Messages in this thread |  | | From | Bartosz Golaszewski <> | Date | Tue, 17 Dec 2019 09:00:44 +0100 | Subject | Re: [PATCH 1/3] clocksource: davinci: work around a clocksource problem on dm365 SoC |
| |
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) ....
Bart
|  |