All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/nouveau/fbcon: fix suspend/resume fbcon
@ 2013-11-19 16:59 Christoph Rudorff
  2013-11-19 18:48 ` Greg KH
  0 siblings, 1 reply; 4+ messages in thread
From: Christoph Rudorff @ 2013-11-19 16:59 UTC (permalink / raw)
  To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
  Cc: bskeggs-H+wXaHxf7aLQT0dZR+AlfA, stable-u79uwXL29TY76Z2rM5mHXA

Current code disables fbcon acceleration before fbcon is suspended,
leading to corrupted console after resume from s2disk. In a similar
fashion we must make sure that fbcon acceleration is enabled before we
revive the console.

With this patch s2disk works correctly on my MacBookPro6,2 with GT216
[GeForce GT 330M]

hibernate:
kernel: nouveau  [     DRM] suspending fbcon...
kernel: nouveau  [     DRM] suspending display...
kernel: nouveau  [     DRM] unpinning framebuffer(s)...
kernel: nouveau  [     DRM] evicting buffers...
kernel: nouveau  [     DRM] waiting for kernel channels to go idle...
kernel: nouveau  [     DRM] suspending client object trees...
kernel: nouveau  [     DRM] suspending kernel object tree...
resume:
kernel: nouveau  [     DRM] re-enabling device...
kernel: nouveau  [     DRM] resuming kernel object tree...
kernel: nouveau  [   VBIOS][0000:01:00.0] running init tables
kernel: nouveau  [     DRM] resuming client object trees...
kernel: nouveau  [     DRM] resuming display...
kernel: nouveau E[     PFB][0000:01:00.0] trapped write at 0x00007fe000 on channel 0x0000fee0 [unknown] BAR/PFIFO_WRITE/FB reason: PAGE_NOT_PRESENT
kernel: nouveau E[     PFB][0000:01:00.0] trapped write at 0x00007fe000 on channel 0x0000fee0 [unknown] BAR/PFIFO_WRITE/FB reason: PAGE_NOT_PRESENT
kernel: nouveau E[     PFB][0000:01:00.0] trapped write at 0x00007fe240 on channel 0x0000fee0 [unknown] BAR/PFIFO_WRITE/FB reason: PAGE_NOT_PRESENT
kernel: nouveau E[     PFB][0000:01:00.0] trapped write at 0x00007fe400 on channel 0x0000fee0 [unknown] BAR/PFIFO_WRITE/FB reason: PAGE_NOT_PRESENT

http://lists.freedesktop.org/archives/nouveau/2013-October/014656.html
---
 drivers/gpu/drm/nouveau/nouveau_fbcon.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/nouveau_fbcon.c b/drivers/gpu/drm/nouveau/nouveau_fbcon.c
index b035317..3fa6628 100644
--- a/drivers/gpu/drm/nouveau/nouveau_fbcon.c
+++ b/drivers/gpu/drm/nouveau/nouveau_fbcon.c
@@ -513,11 +513,11 @@ void nouveau_fbcon_set_suspend(struct drm_device *dev, int state)
 {
 	struct nouveau_drm *drm = nouveau_drm(dev);
 	console_lock();
-	if (state == 0)
-		nouveau_fbcon_save_disable_accel(dev);
-	fb_set_suspend(drm->fbcon->helper.fbdev, state);
-	if (state == 1)
+	if (state == FBINFO_STATE_RUNNING)
 		nouveau_fbcon_restore_accel(dev);
+	fb_set_suspend(drm->fbcon->helper.fbdev, state);
+	if (state == FBINFO_STATE_SUSPENDED)
+		nouveau_fbcon_save_disable_accel(dev);
 	console_unlock();
 }
 
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] drm/nouveau/fbcon: fix suspend/resume fbcon
  2013-11-19 16:59 [PATCH] drm/nouveau/fbcon: fix suspend/resume fbcon Christoph Rudorff
@ 2013-11-19 18:48 ` Greg KH
  2013-11-19 19:23   ` Christoph Rudorff
  0 siblings, 1 reply; 4+ messages in thread
From: Greg KH @ 2013-11-19 18:48 UTC (permalink / raw)
  To: Christoph Rudorff; +Cc: nouveau, stable, bskeggs, emil.l.velikov

On Tue, Nov 19, 2013 at 05:59:13PM +0100, Christoph Rudorff wrote:
> Current code disables fbcon acceleration before fbcon is suspended,
> leading to corrupted console after resume from s2disk. In a similar
> fashion we must make sure that fbcon acceleration is enabled before we
> revive the console.
> 
> With this patch s2disk works correctly on my MacBookPro6,2 with GT216
> [GeForce GT 330M]
> 
> hibernate:
> kernel: nouveau  [     DRM] suspending fbcon...
> kernel: nouveau  [     DRM] suspending display...
> kernel: nouveau  [     DRM] unpinning framebuffer(s)...
> kernel: nouveau  [     DRM] evicting buffers...
> kernel: nouveau  [     DRM] waiting for kernel channels to go idle...
> kernel: nouveau  [     DRM] suspending client object trees...
> kernel: nouveau  [     DRM] suspending kernel object tree...
> resume:
> kernel: nouveau  [     DRM] re-enabling device...
> kernel: nouveau  [     DRM] resuming kernel object tree...
> kernel: nouveau  [   VBIOS][0000:01:00.0] running init tables
> kernel: nouveau  [     DRM] resuming client object trees...
> kernel: nouveau  [     DRM] resuming display...
> kernel: nouveau E[     PFB][0000:01:00.0] trapped write at 0x00007fe000 on channel 0x0000fee0 [unknown] BAR/PFIFO_WRITE/FB reason: PAGE_NOT_PRESENT
> kernel: nouveau E[     PFB][0000:01:00.0] trapped write at 0x00007fe000 on channel 0x0000fee0 [unknown] BAR/PFIFO_WRITE/FB reason: PAGE_NOT_PRESENT
> kernel: nouveau E[     PFB][0000:01:00.0] trapped write at 0x00007fe240 on channel 0x0000fee0 [unknown] BAR/PFIFO_WRITE/FB reason: PAGE_NOT_PRESENT
> kernel: nouveau E[     PFB][0000:01:00.0] trapped write at 0x00007fe400 on channel 0x0000fee0 [unknown] BAR/PFIFO_WRITE/FB reason: PAGE_NOT_PRESENT
> 
> http://lists.freedesktop.org/archives/nouveau/2013-October/014656.html
> ---
>  drivers/gpu/drm/nouveau/nouveau_fbcon.c |    8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)

<formletter>

This is not the correct way to submit patches for inclusion in the
stable kernel tree.  Please read Documentation/stable_kernel_rules.txt
for how to do this properly.

</formletter>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] drm/nouveau/fbcon: fix suspend/resume fbcon
  2013-11-19 18:48 ` Greg KH
@ 2013-11-19 19:23   ` Christoph Rudorff
       [not found]     ` <528BBAC3.9060908-4cZEHNAa5IdBDgjK7y7TUQ@public.gmane.org>
  0 siblings, 1 reply; 4+ messages in thread
From: Christoph Rudorff @ 2013-11-19 19:23 UTC (permalink / raw)
  To: Greg KH; +Cc: nouveau, stable, bskeggs, emil.l.velikov

On 19.11.2013 19:48, Greg KH wrote:
> On Tue, Nov 19, 2013 at 05:59:13PM +0100, Christoph Rudorff wrote:
>> Current code disables fbcon acceleration before fbcon is suspended,
>> leading to corrupted console after resume from s2disk. In a similar
>> fashion we must make sure that fbcon acceleration is enabled before we
>> revive the console.
>>
>> With this patch s2disk works correctly on my MacBookPro6,2 with GT216
>> [GeForce GT 330M]
>>
>> hibernate:
>> kernel: nouveau  [     DRM] suspending fbcon...
>> kernel: nouveau  [     DRM] suspending display...
>> kernel: nouveau  [     DRM] unpinning framebuffer(s)...
>> kernel: nouveau  [     DRM] evicting buffers...
>> kernel: nouveau  [     DRM] waiting for kernel channels to go idle...
>> kernel: nouveau  [     DRM] suspending client object trees...
>> kernel: nouveau  [     DRM] suspending kernel object tree...
>> resume:
>> kernel: nouveau  [     DRM] re-enabling device...
>> kernel: nouveau  [     DRM] resuming kernel object tree...
>> kernel: nouveau  [   VBIOS][0000:01:00.0] running init tables
>> kernel: nouveau  [     DRM] resuming client object trees...
>> kernel: nouveau  [     DRM] resuming display...
>> kernel: nouveau E[     PFB][0000:01:00.0] trapped write at 0x00007fe000 on channel 0x0000fee0 [unknown] BAR/PFIFO_WRITE/FB reason: PAGE_NOT_PRESENT
>> kernel: nouveau E[     PFB][0000:01:00.0] trapped write at 0x00007fe000 on channel 0x0000fee0 [unknown] BAR/PFIFO_WRITE/FB reason: PAGE_NOT_PRESENT
>> kernel: nouveau E[     PFB][0000:01:00.0] trapped write at 0x00007fe240 on channel 0x0000fee0 [unknown] BAR/PFIFO_WRITE/FB reason: PAGE_NOT_PRESENT
>> kernel: nouveau E[     PFB][0000:01:00.0] trapped write at 0x00007fe400 on channel 0x0000fee0 [unknown] BAR/PFIFO_WRITE/FB reason: PAGE_NOT_PRESENT
>>
>> http://lists.freedesktop.org/archives/nouveau/2013-October/014656.html
>> ---
>>  drivers/gpu/drm/nouveau/nouveau_fbcon.c |    8 ++++----
>>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> <formletter>
> 
> This is not the correct way to submit patches for inclusion in the
> stable kernel tree.  Please read Documentation/stable_kernel_rules.txt
> for how to do this properly.
> 
> </formletter>

Sorry,

I've been asked to cc it.

chris

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] drm/nouveau/fbcon: fix suspend/resume fbcon
       [not found]     ` <528BBAC3.9060908-4cZEHNAa5IdBDgjK7y7TUQ@public.gmane.org>
@ 2013-12-01 20:58       ` Emil Velikov
  0 siblings, 0 replies; 4+ messages in thread
From: Emil Velikov @ 2013-12-01 20:58 UTC (permalink / raw)
  To: Christoph Rudorff; +Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Ben Skeggs

On 19/11/13 19:23, Christoph Rudorff wrote:
> On 19.11.2013 19:48, Greg KH wrote:
>> On Tue, Nov 19, 2013 at 05:59:13PM +0100, Christoph Rudorff wrote:
>>> Current code disables fbcon acceleration before fbcon is suspended,
>>> leading to corrupted console after resume from s2disk. In a similar
>>> fashion we must make sure that fbcon acceleration is enabled before we
>>> revive the console.
>>>
>>> With this patch s2disk works correctly on my MacBookPro6,2 with GT216
>>> [GeForce GT 330M]
>>>
>>> hibernate:
>>> kernel: nouveau  [     DRM] suspending fbcon...
>>> kernel: nouveau  [     DRM] suspending display...
>>> kernel: nouveau  [     DRM] unpinning framebuffer(s)...
>>> kernel: nouveau  [     DRM] evicting buffers...
>>> kernel: nouveau  [     DRM] waiting for kernel channels to go idle...
>>> kernel: nouveau  [     DRM] suspending client object trees...
>>> kernel: nouveau  [     DRM] suspending kernel object tree...
>>> resume:
>>> kernel: nouveau  [     DRM] re-enabling device...
>>> kernel: nouveau  [     DRM] resuming kernel object tree...
>>> kernel: nouveau  [   VBIOS][0000:01:00.0] running init tables
>>> kernel: nouveau  [     DRM] resuming client object trees...
>>> kernel: nouveau  [     DRM] resuming display...
>>> kernel: nouveau E[     PFB][0000:01:00.0] trapped write at 0x00007fe000 on channel 0x0000fee0 [unknown] BAR/PFIFO_WRITE/FB reason: PAGE_NOT_PRESENT
>>> kernel: nouveau E[     PFB][0000:01:00.0] trapped write at 0x00007fe000 on channel 0x0000fee0 [unknown] BAR/PFIFO_WRITE/FB reason: PAGE_NOT_PRESENT
>>> kernel: nouveau E[     PFB][0000:01:00.0] trapped write at 0x00007fe240 on channel 0x0000fee0 [unknown] BAR/PFIFO_WRITE/FB reason: PAGE_NOT_PRESENT
>>> kernel: nouveau E[     PFB][0000:01:00.0] trapped write at 0x00007fe400 on channel 0x0000fee0 [unknown] BAR/PFIFO_WRITE/FB reason: PAGE_NOT_PRESENT
>>>
>>> http://lists.freedesktop.org/archives/nouveau/2013-October/014656.html
>>> ---
>>>  drivers/gpu/drm/nouveau/nouveau_fbcon.c |    8 ++++----
>>>  1 file changed, 4 insertions(+), 4 deletions(-)
>>
>> <formletter>
>>
>> This is not the correct way to submit patches for inclusion in the
>> stable kernel tree.  Please read Documentation/stable_kernel_rules.txt
>> for how to do this properly.
>>
>> </formletter>
> 
> Sorry,
> 
> I've been asked to cc it.
> 
> chris
> 
Dropping Greg and stable@kernel

Hi Chris,

Maybe I should have been more explicit previously, namely

* Add Signed-off-by: tag
* (Optional?) Prepend the ML link with appropriate tag
* Add Cc: <stable@kernel...> # branch which should include this
You can use git send-email --suppress-cc=bodycc (to avoid sending a copy
to stable at first instance)
* Possibly a bit or two more (check out the Greg's pointer)

Cheers,
Emil

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-12-01 20:58 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-19 16:59 [PATCH] drm/nouveau/fbcon: fix suspend/resume fbcon Christoph Rudorff
2013-11-19 18:48 ` Greg KH
2013-11-19 19:23   ` Christoph Rudorff
     [not found]     ` <528BBAC3.9060908-4cZEHNAa5IdBDgjK7y7TUQ@public.gmane.org>
2013-12-01 20:58       ` Emil Velikov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.