[PATCH v4 13/21] ARM: omap: convert wakeupgen to stacked domains
From: santosh shilimkar <hidden>
Date: 2015-01-21 21:28:11
Also in:
linux-omap, linux-samsung-soc
On 1/21/2015 12:43 PM, Tony Lindgren wrote:
* santosh shilimkar [off-list ref] [150121 12:16]:quoted
On 1/21/2015 10:36 AM, Tony Lindgren wrote:quoted
* Marc Zyngier [off-list ref] [150121 09:25]:quoted
On 21/01/15 16:30, Tony Lindgren wrote:quoted
I gave this a quick boot test on am437x-gp-evm and the interrupts look OK with the fix also applied: # cat /proc/interrupts CPU0 16: 657 WUGEN 68 gp_timer 18: 0 WUGEN 9 l3-dbg-irq 19: 0 WUGEN 10 l3-app-irq 20: 5 WUGEN 12 edma 22: 0 WUGEN 14 edma_error 23: 96 WUGEN 72 OMAP UART0 33: 0 44e07000.gpio 6 mmc0 158: 52 WUGEN 70 44e0b000.i2c 159: 0 WUGEN 71 4802a000.i2c 160: 35 WUGEN 64 mmc0 161: 0 WUGEN 40 4a100000.ethernet 162: 7739 WUGEN 41 4a100000.ethernet 163: 7608 WUGEN 42 4a100000.ethernet 164: 0 WUGEN 43 4a100000.ethernet 170: 0 WUGEN 100 gpmc 180: 0 WUGEN 7 tps65218 IPI0: 0 CPU wakeup interrupts IPI1: 0 Timer broadcast interrupts IPI2: 0 Rescheduling interrupts IPI3: 0 Function call interrupts IPI4: 0 Single function call interrupts IPI5: 0 CPU stop interrupts IPI6: 0 IRQ work interrupts IPI7: 0 completion interrupts Err: 0Interesting. No TWD timer on this one?Good question, adding Felipe to cc. It eems to be there in the TRM in "Table 2-3. L4_PER Peripheral Memory Map" as MPU_PRV_TIMERS. Also seems to actually work with the attached patch:TWD is useless on this machine since single core and TWD as know die in low power states. All the broadcast stuff is for SMP machines.Hmm it seems we should still use TWD during runtime and swich over to the gptimer for idle states for wake-up events.
Well timer wheel code don't support it so if you are serious, some one needs to do that. For me, it is not worth at all. You will have more to loose than gain with these time switching schemes since you have to keep 2 times alive, do switching, loose the idle time. All of that is to save few CPU cycles since TWD is closer compared to other SOC timer. Anyways I will let you fight it out but IIRC, I had a discussion a while back with tglx in one of the conference and the conclusion was it not worth doing. Rather TWD hardware on SOC should be made wakeup capable and then everything is good. Till you have support, using TWD on AM43XX will break CPUIDLE. Not sure if it is supported or some one cares about it. Just keep that aspect in mind. Regards, Santosh