On Fri, Mar 23, 2012 at 1:41 PM, Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> wrote: > On 03/23/2012 01:35 PM, Jean Pihet wrote: >> >> On Fri, Mar 23, 2012 at 10:26 AM, Daniel Lezcano >> <daniel.lezcano@xxxxxxxxxx> wrote: >>> >>> Use the new cpuidle API and define in the driver the states. >>> >>> Signed-off-by: Daniel Lezcano<daniel.lezcano@xxxxxxxxxx> >>> --- > > > [ ... ] > > >>> /* >>> * Erratum i583: implementation for ES rev< Es1.2 on 3630. We >>> cannot >> >> C7 is enabled only if the errata does not apply. >> This causes a problem with the statically defined C-states and also >> with the per C-state sysfs disable knob. A consistency check should be >> performed before trying to enter a state. > > > In the patch 5/9, I decrement the state_count if the errata applies. I > believe it is still compatible with the static C-states. Correct! That solves the issue with the statically defined C-states. The (dynamic) per C-state sysfs disable knob requires a runtime check on .disable though, in case the cpuidle chosen C-state is demoted (depending on the value of enable_off_mode and later the latency constraints on the power domain). > > >>> @@ -338,7 +372,6 @@ int __init omap3_idle_init(void) >>> drv->state_count = OMAP3_NUM_STATES; >>> cpuidle_register_driver(&omap3_idle_driver); >>> >>> - dev->state_count = OMAP3_NUM_STATES; >>> if (cpuidle_register_device(dev)) { >>> printk(KERN_ERR "%s: CPUidle register device failed\n", >>> __func__); >>> -- >>> 1.7.5.4 >>> >> Thanks! Jean > > > > -- > <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs > > Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook | > <http://twitter.com/#!/linaroorg> Twitter | > <http://www.linaro.org/linaro-blog/> Blog > -- 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