From: Bruno Prémont on
On Sun, 02 May 2010 Bruno Prémont <bonbons(a)linux-vserver.org> wrote:
> On a IEI Kino 690S1 I'm having a hard time to get s2ram running.
>
> When the system is able to suspend it takes an eternity (more than 3
> minutes to wake-up, the radeon apparently being responsible for quite
> a big share of that slowness.
>
>
> During resume early it looks like every PCI access needs about a second,
> and there are a few cases where during lots of seconds nothing seems to
> happen and the first event following is related to radeon.

This slowness only happens when I run the kernel with no_console_suspend
parameter (e.g. to debug some suspend/resume issue).
This probably means that in this case radeon's PCI config recorded during
suspend and restored during early resume is all but appropriate...

Currently drm/radeon does not suspend when no_console_suspend is provided,
even so when the kernel logging does not happen on tty0 & co.

e.g. I would expect that a kernel run with
no_console_suspend console=ttyS0
would just skip suspending serial port ttyS0 and not also skip suspending
KMS framebuffer as it currently does.


In most framebuffer devices I see usage of acquire_console_sem() and
release_console_sem() but except for kernel/printk.c and drivers/serial/
code nothing is considering console_suspend_enabled.

Currently I'm not sure what code path prevents suspend of KMS (at least
for radeon) when no_console_suspend has been passed, this code path should
probably have a conditional just as serial to take no_console_suspend only
if it's running kernel's console itself.

Thanks,
Bruno
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/