Fix potential merge conflict for dw_apb_timer_of
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest0 of 2 patches 0 repliesNew
Patches in v1 No applies recorded yet
None of the 2 patches the cover letter announces are in this archive.
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH 0/2] Fix potential merge conflict for dw_apb_timer_of
Quoted 84 lines · Heiko St?bner
Am Dienstag, 18. Juni 2013, 17:38:35 schrieb Heiko St?bner:
Quoted 69 lines
Hi Pavel,
Am Dienstag, 18. Juni 2013, 17:02:44 schrieb Pavel Machek:
Quoted 12 lines
Hi!
Quoted 10 lines
Quoted 10 lines
The following 2 patches will eliminate the need for the patch in John Stultz's tree. If there is to be merge of the 2 trees, then the patch:
dw_apb_timer_of.c: Remove parts that were picoxcell-specificcan be removed from John's tree to avoid a merge-conflict.
Based on arm-soc/for-next:
Quoted 7 lines
Quoted 5 lines
Quoted 3 lines
PATCH[1/2] - Rename "dw-apb-timer-osc" and "dw-apb-timer-sp" bindings to just "dw-apb-timer"
PATCH[2/2] - Fix user/system reporting by fixingread_sched_clock()Pavel/Jamie: Can you take a look at these too and make sure these cover what you were doing.
[It seems like Heiko St?bner was not aware of patches in the clock tree, so did pretty much equivalent patch.]
Correct ... I was going after what was in linux-next and the tip.git [which I also only saw recently at all] does not seem to be part of it.
Quoted 44 lines
Dinh's changes look good to me, but
[PATCH v2 4/4] clocksource:
dw_apb_timer_of: useclocksource_of_initdoes not exactly look nice: (I'm sorry I did not see original series, before it was merged to -soc.). The function counts number of times it was called, and behaves differently in each case. It is not very traditional kernel code at the very least.
(quoted diff) +2
-8+static int num_called; +static void __init dw_apb_timer_init(struct device_node *timer) { - struct device_node *event_timer, *source_timer; - - event_timer = of_find_matching_node(NULL, osctimer_ids); - if (!event_timer) - panic("No timer for clockevent"); - add_clockevent(event_timer); - - source_timer = of_find_matching_node(event_timer,
osctimer_ids);(quoted diff) +15
-5- if (!source_timer) - panic("No timer for clocksource"); - add_clocksource(source_timer); - - of_node_put(source_timer); + switch (num_called) { + case 0: + pr_debug("%s: found clockevent timer\n", __func__); + add_clockevent(timer); + of_node_put(timer); + break; + case 1: + pr_debug("%s: found clocksource timer\n", __func__); + add_clocksource(timer); + of_node_put(timer); + init_sched_clock(); + break; + default: + break; + }Quoted 7 lines
Quoted 7 lines
(quoted diff) +1
-1- init_sched_clock(); + num_called++; }Heiko, can you take a look at John Stultz tree? We modified this area already... I understand you only have one timer on your silicon?
also it seems like not being able to use the
apb_timerassched_clockwill hurt my platform too.I've tried to use the
arm_arch_timer, but when thearch_timer_get_cntfrq()function gets called, I only get an "undefined instruction" Oops for the executed asm in there.
Quoted 8 lines
As there is no manual available for the SoC, I can only guess that it doesn't contain such a component. This is fueled additionally by the PPI part of the gic only having 3 interrupt sources [there is small excerpt of the soc-manual floating around that contains this information], with one already being the twd interrupt, while the
arm_arch_timerseems to require 4 itself.Therefore it would cool, if we could keep the
sched_clockfunctionality (provided by the clocksource timer) around somehow.
So whats the plan now?
I'm feeling likely to revert "dw_apb_timer_of.c: Remove parts that were picoxcell-specific" in my tree and leave the rest of the wreckage to the arm-soc folks to sort out (either getting the fix in or reverting the lot and trying again for 3.12), unless we get some agreed upon path forward sorted quickly here.
thanks
-john