Re: Resume from suspend broken in 3.15. (bisected)
From: Ken Moffat
Date: Thu May 29 2014 - 19:21:22 EST
On Thu, May 29, 2014 at 10:57:20PM +0200, Daniel Vetter wrote:
> On Thu, May 29, 2014 at 10:47 PM, Alex Deucher <alexdeucher@xxxxxxxxx> wrote:
> > On Thu, May 29, 2014 at 2:03 AM, Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote:
> >> On Wed, May 28, 2014 at 08:26:53PM -0400, Alex Deucher wrote:
> >>> On Wed, May 28, 2014 at 7:49 PM, Ken Moffat <zarniwhoop@xxxxxxxxxxxx> wrote:
> >>> > On Wed, May 28, 2014 at 06:25:21PM +0100, Ken Moffat wrote:
> >>> >> Hi Daniel,
> >>> >>
> >>> >
> >>> > [ correcting details, confirming that reverting this does fix the
> >>> > problem, adding Cc:s ]
> >>> >
> >>> >> I've only started full testing of 3.15 on one of my machines now
> >>> >> that -rc7 has been released (this one had two issues in the radeon
> >>> >> code, second was fixed in rc7). Unfortunately, suspend to RAM
> >>> >> (pm-suspend), or rather the wake-up, is broken on this box [ my
> >>> >> other two boxes are fine in rc7 ].
> >>> >>
> >>> >> Bisection identified one of your commits -
> >>> >>
> >>> >> commit 25f397a429dfa43f22c278d0119a60a343aa568f
> >>> >> Author: Daniel Vetter <daniel.vetter@xxxxxxxx>
> >>> >> Date: Fri Jul 19 18:57:11 2013 +0200
> >>> >>
> >>> >> drm/crtc-helper: explicit DPMS on after modeset
> >>> >>
> >>> >> Atm the crtc helper implementation of set_config has really
> >>> >> inconsisten semantics: If just an fb update is good enough, dpms state
> >>> >> will be left as-is, but if we do a full modeset we force everything to
> >>> >> dpms on.
> >>> >>
> >>> >> This change has already been applied to the i915 modeset code in
> >>> >>
> >>> >> ('git show' stops at that point)
> >>> >
> >>> > update : I've no idea what was going on there, nor for the problem
> >>> > with attempting to revert it. I've now gone back into git,
> >>> > extracted the full commit to a file with 'git show', and then used
> >>> > git apply -R to revert it from 3.15-rc7. That version wakes up from
> >>> > suspend to RAM, 3.15-rc7 itself did not.
> >>> >
> >>> > Maybe I was still in git log when I thought I was on the command
> >>> > line. Anyway, snipping git's view of my failed attempt to revert
> >>> > it, and adding Dan and Alex who were CC'd on the commit.
> >>> >
> >>>
> >>> Duplicate of:
> >>> https://bugzilla.kernel.org/show_bug.cgi?id=74751
> >>> and also reported here:
> >>> https://lkml.org/lkml/2014/5/2/388
> >>> Unless there is a good reason to keep the commit, I'd say let's just revert it.
> >>>
> >>
> >> Yes. Let's revert it.
> >
> > The actual bad commit is 177cf92de4aa97ec1435987e91696ed8b5023130, but
> > for some reason git bisect always comes up with
> > 25f397a429dfa43f22c278d0119a60a343aa568f which has been in the tree
> > for almost a year now. I don't know why.
>
> Quick patch which is worth a shot before we revert 177cf.
> -Daniel
>
> diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c
> index c2edb2d14030..cf5d299cc623 100644
> --- a/drivers/gpu/drm/radeon/radeon_device.c
> +++ b/drivers/gpu/drm/radeon/radeon_device.c
> @@ -1534,11 +1534,6 @@ int radeon_resume_kms(struct drm_device *dev, bool resume, bool fbcon)
>
> radeon_restore_bios_scratch_regs(rdev);
>
> - if (fbcon) {
> - radeon_fbdev_set_suspend(rdev, 0);
> - console_unlock();
> - }
> -
> /* init dig PHYs, disp eng pll */
> if (rdev->is_atom_bios) {
> radeon_atom_encoder_init(rdev);
> @@ -1563,6 +1558,12 @@ int radeon_resume_kms(struct drm_device *dev, bool resume, bool fbcon)
> }
>
> drm_kms_helper_poll_enable(dev);
> +
> + if (fbcon) {
> + radeon_fbdev_set_suspend(rdev, 0);
> + console_unlock();
> + }
> +
> return 0;
> }
>
Thanks, Daniel.
That works for me (with -rc7) on my A4 Trinity (Radeon HD7480D). I
also tested it on my other radeon (RS780L - Radeon 3000) and saw no
problems in suspend-resume. If useful, you can add my tested-by.
Äen
--
Nanny Ogg usually went to bed early. After all, she was an old lady.
Sometimes she went to bed as early as 6 a.m.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/