Bug 39422

Summary: s2ram with nouveau leaves VTs blank, works in X (but only for vt X was running on)
Product: Drivers Reporter: Andrew Randrianasulu (randrik)
Component: Video(DRI - non Intel)Assignee: drivers_video-dri
Status: RESOLVED CODE_FIX    
Severity: normal CC: florian
Priority: P1    
Hardware: i386   
OS: Linux   
Kernel Version: 3.0.0-rc6 Subsystem:
Regression: No Bisected commit-id:
Attachments: lspci -vv
dmesg
dmesg after s2ram
test patch
fix
fix v2

Description Andrew Randrianasulu 2011-07-15 15:57:40 UTC
Hello.

I've tested both  mainline and http://cgit.freedesktop.org/nouveau/linux-2.6/

mainline - commit fe0d42203cb5616eeff68b14576a0f7e2dd56625 ("Linux 3.0-rc6")
nouveau-2.6 - commit 72690683e35680d912e9b8ff2ee0b7a18631dd0d ("drm/nouveau/pm: Document and expose CL and WR for 0x1002Cx")

doing echo mem > /sys/power/sleep send my system to sleep, but on resume i can see only blank vt, if i run this command from console. I can poweroff machine via ctrl-alt-del, or power button. If I start X, and suspend from xterminal - on restore i can see X again, and work as usual, but non-X VTs still blank (with small line-shaped cursor in top-left corner).
Comment 1 Andrew Randrianasulu 2011-07-15 16:00:18 UTC
Created attachment 65742 [details]
lspci -vv
Comment 2 Andrew Randrianasulu 2011-07-15 16:01:50 UTC
Created attachment 65752 [details]
dmesg

from nouveau tree, without attempt to suspend
Comment 3 Andrew Randrianasulu 2011-07-15 16:04:08 UTC
Created attachment 65762 [details]
dmesg after s2ram
Comment 4 Marcin Slusarz 2011-07-15 21:23:10 UTC
Created attachment 65782 [details]
test patch

It seems M2MF object is bounded to NV04_GDI subchannel after resume.

Can you test attached patch?
Comment 5 Andrew Randrianasulu 2011-07-16 06:15:08 UTC
(In reply to comment #4)
> Created an attachment (id=65782) [details]
> test patch
> 
> It seems M2MF object is bounded to NV04_GDI subchannel after resume.
> 
> Can you test attached patch?

Works (tried 2 suspends , one from console, one from X)
Thanks a lot!
Comment 6 Marcin Slusarz 2011-07-17 18:06:38 UTC
Created attachment 65882 [details]
fix

Can you check this patch instead?
Comment 7 Andrew Randrianasulu 2011-07-17 19:01:33 UTC
(In reply to comment #6)
> Created an attachment (id=65882) [details]
> fix
> 
> Can you check this patch instea(In reply to comment #6)
> Created an attachment (id=65882) [details]
> fix
> 
> Can you check this patch instead?

Patch doesn't apply to master (commit 1765a367a3b5d5e9692949b0c5ec933eff2c0701, "Merge branch 'gpio/merge' of git://git.secretlab.ca/git/linux-2.6")

git apply ../nouveau-kernel/linux-2.6/0001-drm-nouveau-restore-subchannel-object-binding-on-res.patch
error: patch failed: drivers/gpu/drm/nouveau/nouveau_drv.h:302
error: drivers/gpu/drm/nouveau/nouveau_drv.h: patch does not apply
error: patch failed: drivers/gpu/drm/nouveau/nvc0_fbcon.c:200
error: drivers/gpu/drm/nouveau/nvc0_fbcon.c: patch does not apply

nor to nouveau-2.6 (commit 72690683e35680d912e9b8ff2ee0b7a18631dd0d)

git apply 0001-drm-nouveau-restore-subchannel-object-binding-on-res.patch -v
Checking patch drivers/gpu/drm/nouveau/nouveau_dma.c...
Checking patch drivers/gpu/drm/nouveau/nouveau_dma.h...
Checking patch drivers/gpu/drm/nouveau/nouveau_drv.c...
Checking patch drivers/gpu/drm/nouveau/nouveau_drv.h...
error: while searching for:
                struct list_head flip;
        } nvsw;

#ifdef CONFIG_DRM_NOUVEAU_DEBUG
        struct {
                bool active;

error: patch failed: drivers/gpu/drm/nouveau/nouveau_drv.h:302
error: drivers/gpu/drm/nouveau/nouveau_drv.h: patch does not apply
Checking patch drivers/gpu/drm/nouveau/nouveau_fence.c...
Checking patch drivers/gpu/drm/nouveau/nv04_fbcon.c...
Checking patch drivers/gpu/drm/nouveau/nv50_fbcon.c...
Checking patch drivers/gpu/drm/nouveau/nvc0_fbcon.c...
Comment 8 Marcin Slusarz 2011-07-17 19:46:30 UTC
Created attachment 65892 [details]
fix v2

I had some local modifications. This one applies to both trees
Comment 9 Andrew Randrianasulu 2011-07-17 20:57:03 UTC
(In reply to comment #8)
> Created an attachment (id=65892) [details]
> fix v2
> 
> I had some local modifications. This one applies to both trees

This one works too
Comment 10 Florian Mickler 2011-08-08 14:13:13 UTC
A patch referencing this bug report has been merged in Linux v3.1-rc1:

commit 12a30e267c162145df3c104d0f4aabff7bce56a5
Author: Ben Skeggs <bskeggs@redhat.com>
Date:   Mon Jul 18 09:56:36 2011 +1000

    drm/nv40/gr: rewrite/split context takedown functions
Comment 11 Andrew Randrianasulu 2011-08-28 10:35:41 UTC
Fixed in 3.1.0-rc3+.

Thanks!