"ext Premi, Sanjeev" <premi@xxxxxx> writes: > While working with cpuidle, I have come across these problems. > I am also working on the solutions, but would be good to hear > more thoughts. > > 1) The flag 'enable_dyn_sleep' is honoured only in omap3_idle_bm_check() > but in the C1 state, omap3_enter_idle() is invoked directly. > So, the system can transition to deeper idle state(s) > > Same is the case with 'sleep_block'. > > Possible Solutions: > a) Call omap3_can_sleep() in omap3_enter_idle(). > This makes omap3_idle_bm_check() redundant; and can be removed. > > b) Make single entry point for all idle states > But would be an overkill for C1 state. > > c) Change omap3_can_sleep() to check for omap_uart_can_sleep() > and omap3_fclks_active() only. > Move check for 'enable_dyn_sleep' and 'sleep_block' into > omap3_enter_idle() > > I believe (c) would be the most optimal. Selecting (c) will break traditional pm_idle. Current plan is to add one more C state (C1) which would prevent mpu/core sleep transitions. Then remove fclk_active check completely. -- Jouni Högander -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html