On Mon, Oct 29, 2012 at 10:09:07PM +0800, Daniel J Blueman wrote: > On 25 October 2012 02:07, Marcin Slusarz <marcin.slus...@gmail.com> wrote: > > On Wed, Oct 24, 2012 at 01:54:43PM +0800, Daniel J Blueman wrote: > >> On 13 October 2012 15:12, Daniel J Blueman <dan...@quora.org> wrote: > [...] > >> echo IGD >/sys/kernel/debug/vgaswitcheroo/switch > >> echo OFF >/sys/kernel/debug/vgaswitcheroo/switch > >> > >> after boot+40s: > >> > >> BUG: soft lockup - CPU#0 stuck for 22s! [Xorg:1703] > [...]\ > >> [<ffffffffa037c538>] nv04_timer_read+0x28/0x70 [nouveau] > >> [<ffffffffa037bfec>] nouveau_timer_wait_eq+0x7c/0xe0 [nouveau] > >> [<ffffffffa03f4f4e>] nvd0_sor_dpms+0xde/0x1a0 [nouveau] > >> [<ffffffff813871d9>] ? fb_set_var+0xe9/0x3a0 > >> [<ffffffff811554a9>] ? __pte_alloc+0xa9/0x160 > >> [<ffffffffa03f4e70>] ? nvd0_sor_dp_link_set+0x2c0/0x2c0 [nouveau] > >> [<ffffffffa00b2a5c>] drm_helper_connector_dpms+0xbc/0x100 [drm_kms_helper] > >> [<ffffffffa00b1665>] drm_fb_helper_dpms.isra.13+0xa5/0xf0 [drm_kms_helper] > >> [<ffffffffa00b16f9>] drm_fb_helper_blank+0x49/0x80 [drm_kms_helper] > >> [<ffffffff81386e16>] fb_blank+0x56/0xc0 > >> [<ffffffff813887bb>] do_fb_ioctl+0x59b/0x5f0 > >> [<ffffffff81152883>] ? vma_interval_tree_insert+0x83/0x90 > >> [<ffffffff81388af5>] fb_ioctl+0x45/0x50 > >> [<ffffffff8119adda>] do_vfs_ioctl+0x8a/0x340 > >> [<ffffffff8119b121>] sys_ioctl+0x91/0xb0 > >> [<ffffffff81189862>] ? sys_read+0x52/0xa0 > > > In case it's not obvious: Xorg tries to blank monitor connected to nvidia > > card, but hangs because card is already powered down. > > > > Did it ever work? If yes, can you bisect it? > > Does it work if you power down nvidia card while X is not running? > > Thanks for your reply Marcin! I wasn't able to boot kernels earlier > than 3.6 on this Macbook Pro retina due to various issues, and it > occurs on kernels between and including 3.6 and 3.7-rc3. > > As we see read being called, I've taken the lsof output [1]. > > Should the DPMS functions be deregistered prior the hardware being > placed in D3, or is it more that the functions should check if the > card was put into D3 and just return?
I'm not sure, but I would bet on adding a check(s). The question is: at which layer (nouveau? drm? fb?)? Another is: are there any other code paths which need to be protected from calling when suspended? (Currently, I don't have answers to these questions and not much time to look into them, sorry.) If no one will figure it out in a few days, please open new bug report - see http://nouveau.freedesktop.org/wiki/Bugs for description how to do this. Marcin _______________________________________________ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau