Bug 34709 - [bisected] with r300 (rv530) kms loaded cannot suspend kernel 2.6.37+ with uswsusp
Summary: [bisected] with r300 (rv530) kms loaded cannot suspend kernel 2.6.37+ with us...
Status: RESOLVED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Radeon (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 35969
  Show dependency treegraph
 
Reported: 2011-02-25 03:43 UTC by Michal Suchanek
Modified: 2011-05-05 00:48 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
fix (1.63 KB, patch)
2011-04-02 06:30 UTC, Alex Deucher
no flags Details | Splinter Review

Description Michal Suchanek 2011-02-25 03:43:41 UTC
After upgrading from kernel 2.6.36 to 2.6.37 I can no longer suspend the system with uswsusp.

The suspend operation hangs with displays blanked before the part when "Saving image to disk" takes place.

Suspending with "echo disk > /sys/power/state" works but is obviously useless as the system cannot be resumed.

Upgrading to 2.6.38 does not help, not loading the radeon module allows to suspend as usual.

A pointer to a repo with Radeon changesets between 2.6.36 and 2.6.37 without needlessly intermingled changes to other kernel parts would be appreciated.
Comment 1 Alex Deucher 2011-02-25 09:06:03 UTC
Can you bisect?
Comment 2 Michal Suchanek 2011-02-25 09:55:26 UTC
Maybe you did not notice but I was asking what repo would be suitable for bisecting this.

I know there are several drm repos but I have no clue what is in what.
Comment 3 Alex Deucher 2011-02-25 10:51:55 UTC
Linus' tree is fine:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git
Comment 4 Michal Suchanek 2011-03-06 07:38:33 UTC
Can't reproduce on my other box so I will need to do some parts swapping I guess.
Comment 5 Michal Suchanek 2011-03-17 02:31:49 UTC
hmm, so it does not happen on rv515gl
hopefully can bisect with the rv530
Comment 6 Michal Suchanek 2011-04-01 13:36:04 UTC
It breaks two commits after 2.6.37-rc3.

Luckily it's in the rc range where the kernels build and boot, bisecting something before rc with Linus tree is hell.

The first cut which was halfway between 2.6.36 and 2.6.37 would not boot and had some oops in atl1 which I happen to use to connect to the box.

commit f24d86f1a49505cdea56728b853a5d0a3f8e3d11
Author: Alex Deucher <alexdeucher@gmail.com>
Date:   Fri Nov 19 23:27:04 2010 +0000

    drm/radeon/kms: fix resume regression for some r5xx laptops
Comment 7 Alex Deucher 2011-04-01 13:38:37 UTC
(In reply to comment #6)
> commit f24d86f1a49505cdea56728b853a5d0a3f8e3d11
> Author: Alex Deucher <alexdeucher@gmail.com>
> Date:   Fri Nov 19 23:27:04 2010 +0000
> 
>     drm/radeon/kms: fix resume regression for some r5xx laptops

Are you saying that with this commit reverted it works?
Comment 8 Michal Suchanek 2011-04-01 14:20:24 UTC
I did not try to revert it. It's way old. Just tried the kernel before and after.

Note that this is very hardware specific, I get the issue with rv530 but not rv515gl.
Comment 9 Alex Deucher 2011-04-01 14:32:20 UTC
(In reply to comment #8)
> I did not try to revert it. It's way old. Just tried the kernel before and
> after.
> 
> Note that this is very hardware specific, I get the issue with rv530 but not
> rv515gl.

So the commit before it worked and the one after it did not?
Comment 10 Michal Suchanek 2011-04-01 15:11:35 UTC
Yes, it does not work with this commit.

I tried to patch a revert on top of 2.6.37 and the kernel suspends fine then.

commit 0c6a5be872fc2c2dc1774501429349ba03d8b2a6
Author: Michal Suchanek <hramrach@centrum.cz>
Date:   Fri Apr 1 23:24:17 2011 +0200

    Revert "drm/radeon/kms: fix resume regression for some r5xx laptops"
    
    This reverts commit f24d86f1a49505cdea56728b853a5d0a3f8e3d11.

commit 3c0eee3fe6a3a1c745379547c7e7c904aa64f6d5
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Jan 4 16:50:19 2011 -0800

    Linux 2.6.37
Comment 11 Alex Deucher 2011-04-02 06:30:51 UTC
Created attachment 45164 [details] [review]
fix

This patch should fix it.
Comment 12 Michal Suchanek 2011-04-04 11:14:12 UTC
With the patch 2.6.37 suspends and resumes, 2.6.38 suspends (which was not possible without it ) and locks up on resume.

On rv515gl 2.6.38 suspends and resumes fine without patches.
Comment 13 Alex Deucher 2011-04-04 12:55:21 UTC
(In reply to comment #12)
> With the patch 2.6.37 suspends and resumes, 2.6.38 suspends (which was not
> possible without it ) and locks up on resume.

Can you bisect (and apply the patch from comment 11 as needed) to track down what broken resume?
Comment 14 Michal Suchanek 2011-04-04 15:11:57 UTC
ok, with the patch 2.6.37 works, 2.6.38 and head suspends but lockups on resume.

I guess time for another bisect.
Comment 15 Michal Suchanek 2011-04-12 05:47:07 UTC
Is the fix going to be applied?
Comment 16 Alex Deucher 2011-04-12 07:00:28 UTC
Any luck bisecting the resume issues?
Comment 17 Michal Suchanek 2011-04-12 07:09:26 UTC
Those are not caused by Radeon.

They were only hidden by the Radeon issue because it came earlier.
Comment 18 Alex Deucher 2011-04-12 07:13:43 UTC
(In reply to comment #17)
> Those are not caused by Radeon.
> 
> They were only hidden by the Radeon issue because it came earlier.

So the patch alone fixes suspend and resume?
Comment 19 Michal Suchanek 2011-04-12 08:20:35 UTC
The resume issue should be fixed in 2.6.39-rc3.

commit 4da9484bdece39ab0b098fa711e095e3e9fc8684
Author: H. Peter Anvin <hpa@linux.intel.com>
Date:   Wed Apr 6 13:10:02 2011 -0700

    x86, hibernate: Initialize mmu_cr4_features during boot
    
    Restore the initialization of mmu_cr4_features during boot, which was
    removed without comment in checkin e5f15b45ddf3afa2bbbb10c7ea34fb32b6de0a0e
    
    x86: Cleanup highmap after brk is concluded
    
    thereby breaking resume from hibernate.  This restores previous
    functionality in approximately the same place, and corrects the
Comment 20 Alex Deucher 2011-04-12 10:38:59 UTC
I've sent the patch to Dave.
Comment 21 Fabio Pedretti 2011-05-05 00:48:56 UTC
Fixed in 2.6.38.4.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.