On 29/05/06, Rafał Bilski <rafalbilski@xxxxxxxxxx> wrote:> I have annoyed kernel maintainers with my patches,> because I didn't know that such group exists. So> before I start annoying them again I ask here.>> For longhaul cpufreq driver it is necessary to stop> PCI bus and processor for >=1ms to let processor> sync internal PLL.>> This is start:> + freeze_processes();> + device_suspend(PMSG_FREEZE);> + clear_bus_master();> + local_irq_save(flags);> This is end:> + local_irq_restore(flags);> + restore_bus_master();> + device_resume();> + thaw_processes();>>> freeze_processes() will let me do anything in this time?> No more "scheduling while atomic" messages?> PMSG_FREEZE is not implemented yet for most devices, but> "will fix later". If I'm using this do I have to still> poke PIC registers or all device interrupts will be> disabled? Will tick (INT0) interrupt be left enabled> (i'm depending on this - this int wakeup processor)?> Can I use PM for this? It works - but is this proper?> Maybe I'm misunderstanding what it is you are trying to do, but how about : local_irq_save(flags);preempt_disable();msleep(2);preempt_enable();local_irq_restore(flags); -- Jesper Juhl <jesper.juhl@xxxxxxxxx>Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.htmlPlain text mails only, please http://www.expita.com/nomime.html˙ň?ŽwĽ?ě;?ë˙éiy§!˘Ř^ŽW?Žv?˘ëm?ââ?ědzšŢ?đ+rŻ{řmś?˙ţf˘?ůĺţX§ťčŽäzšŢ?w°n'ŹüPţm§˙˙?ęçzYŢÁ¸?łú+?÷Ú