Re: [Intel-gfx] xrandr fails after resume from hibernation in kernels 4.7.4 and 4.8.0

From: Daniel Vetter
Date: Wed Nov 09 2016 - 06:14:48 EST


On Sat, Oct 29, 2016 at 09:47:24AM -0400, Greg KH wrote:
> On Sat, Oct 29, 2016 at 10:13:25AM -0300, Gaston Gonzalez wrote:
> > On Fri, Oct 28, 2016 at 07:23:24PM +0300, Ville Syrjälä wrote:
> > > On Fri, Oct 28, 2016 at 11:53:40AM -0400, Greg KH wrote:
> > > > On Fri, Oct 07, 2016 at 10:38:17AM -0300, Gaston Gonzalez wrote:
> > > > > On Wed, Oct 05, 2016 at 07:23:23AM +0200, Greg KH wrote:
> > > > > > On Tue, Oct 04, 2016 at 08:43:03PM -0300, Gaston Gonzalez wrote:
> > > > > > > Hi,
> > > > > > >
> > > > > > > After hibernation I get the following error when I tried to connect to monitor
> > > > > > > through hdmi:
> > > > > > >
> > > > > > > $ xrandr --output LVDS1 --off --output HDMI1 --auto
> > > > > > > xrandr: Configure crtc 1 failed
> > > > > > >
> > > > > > > This does not happen in kernel in kernel v4.6.7 but do happen in kernels v4.7.4
> > > > > > > and v4.8.0
> > > > > >
> > > > > > Ah, can you use 'git bisect' to track down the offending patch?
> > > > > >
> > > > > > Also, if you let the graphics driver authors know, they are probably the
> > > > > > best ones to help out with this, not the "generic" stable mailing list.
> > > > > >
> > > > > > thanks,
> > > > > >
> > > > > > greg k-h
> > > > >
> > > > > Hello,
> > > > >
> > > > > The culprit commit seems to be:
> > > > >
> > > > > commit: ed4a6a7
> > > > > drm/i915: Add two-stage ILK-style watermark programming
> > > > >
> > > > > Attached the bisection log.
> > > > >
> > > > > Let me know if additional test or bisect is needed.
> > > > >
> > > > > Best regards,
> > > > >
> > > > > Gaston
> > > >
> > > > > git bisect start '--' 'drivers/gpu/drm/'
> > > > > # good: [096998b11906dd79df5af4d688c9974342dd09f2] Linux 4.6.7
> > > > > git bisect good 096998b11906dd79df5af4d688c9974342dd09f2
> > > > > # bad: [c8d2bc9bc39ebea8437fd974fdbc21847bb897a3] Linux 4.8
> > > > > git bisect bad c8d2bc9bc39ebea8437fd974fdbc21847bb897a3
> > > > > # good: [2dcd0af568b0cf583645c8a317dd12e344b1c72a] Linux 4.6
> > > > > git bisect good 2dcd0af568b0cf583645c8a317dd12e344b1c72a
> > > > > # bad: [3c85f20a289d044f303f473ee6ab7502303fc3b0] Merge tag 'omapdrm-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux into drm-next
> > > > > git bisect bad 3c85f20a289d044f303f473ee6ab7502303fc3b0
> > > > > # bad: [a64424d722504926f3375bc4887976e3bfe3a01d] Merge branch 'drm-next-4.7' of git://people.freedesktop.org/~agd5f/linux into drm-next
> > > > > git bisect bad a64424d722504926f3375bc4887976e3bfe3a01d
> > > > > # bad: [b5bf0f1ea3658254bd72ef64abc97786e8a32255] drm/exynos: clean up register definions for fimd and decon
> > > > > git bisect bad b5bf0f1ea3658254bd72ef64abc97786e8a32255
> > > > > # bad: [27878ede4fec7b929c3010710ba4d55c617c621d] drm/i915: Throw out BUGs from DPLL/PCH functions
> > > > > git bisect bad 27878ede4fec7b929c3010710ba4d55c617c621d
> > > > > # bad: [72341af4285ae1337c0dfdfa3e68318b52b8757c] drm/i915: hide away VBT private data in a separate header
> > > > > git bisect bad 72341af4285ae1337c0dfdfa3e68318b52b8757c
> > > > > # bad: [71f0a626143368b8aead361ffaff7e36d043fd8e] drm/i915: Only use sanitized values for ILK watermarks
> > > > > git bisect bad 71f0a626143368b8aead361ffaff7e36d043fd8e
> > > > > # bad: [66e2c4c39cc37beaccc24c9d14c75d627fce9cf4] drm/i915/gen9: Disable DC states if power well support is disabled
> > > > > git bisect bad 66e2c4c39cc37beaccc24c9d14c75d627fce9cf4
> > > > > # bad: [4f2d9934bd6ac73950832c96b385822846670668] drm/i915: Pass drm_frambuffer to intel_compute_page_offset()
> > > > > git bisect bad 4f2d9934bd6ac73950832c96b385822846670668
> > > > > # bad: [1d5bf5d9d9ef0c1e639d36178a224d83888c5a29] drm/i915: Add missing NULL check before calling initial_watermarks
> > > > > git bisect bad 1d5bf5d9d9ef0c1e639d36178a224d83888c5a29
> > > > > # bad: [d9f8e52b22454a30aaaf26b7ef029598b30abf8e] drm/i915: remove dead code
> > > > > git bisect bad d9f8e52b22454a30aaaf26b7ef029598b30abf8e
> > > > > # bad: [c3454d575da162cd310d9b83696baefb29d10a70] drm/i915: remove left over dead code
> > > > > git bisect bad c3454d575da162cd310d9b83696baefb29d10a70
> > > > > # bad: [ed4a6a7ca853253f9b86f3005d76345482a71283] drm/i915: Add two-stage ILK-style watermark programming (v11)
> > > > > git bisect bad ed4a6a7ca853253f9b86f3005d76345482a71283
> > > > > # first bad commit: [ed4a6a7ca853253f9b86f3005d76345482a71283] drm/i915: Add two-stage ILK-style watermark programming (v11)
> > > >
> > > >
> > > > Nothing from the graphics developers? Come on, here is someone who
> > > > found a specific patch that causes a problem, and no one responds?
> > >
> > > Probably no one noticed the mail on account of the relevant lists
> > > not getting Cc:d from the get go. Sorry.
> > >
> > > >
> > > > Why isn't this fixed by reverting the above mentioned patch in Linus's
> > > > tree already? Or, is there something else that needs to be done?
> > >
> > > IIRC the problems caused by that watermark stuff should have been fixed by
> > > some combination of these
> > > 9bd18728a3f2 ("drm/i915: Ignore stale wm register values on resume on ilk-bdw (v2)")
> > > 7045c3689f14 ("drm/i915: Don't leave old junk in ilk active watermarks on readout")
> > > d890565c4444 ("drm/i915: Use the active wm config for merging on ILK-BDW")
> > > f1ecaf8f9c99 ("drm/i915: Start WM computation from scratch on ILK-BDW")
> > >
> > > so it's not quite clear if the bisect landed at the right spot, or if we
> > > have more than one overlapping regression around.
> > >
> > > Please file a bug at
> > > https://bugs.freedesktop.org/enter_bug.cgi?product=DRI&component=DRM/Intel
> > > and attach the full dmesg from boot up to when you reproduced the
> > > problem. And pass drm.debug=0xe to kernel so that we'll get (hopefully)
> > > enough debug information into the log.
> > >
> > > Trying the latest nightly tree from
> > > git://anongit.freedesktop.org/drm-intel drm-intel-nightly
> > > would also be a good idea, in case we already fixed the problem.
> > >
> > > --
> > > Ville Syrjälä
> > > Intel OTC
> >
> > Hi,
> >
> > Now I'm running a 4.8.4 kernel and the problem seems to be solved. So no
> > need to file a bug report, right?
>
> Ah, that's great, no need!

Yeah, 4.8 had a bunch of wm fallout because we're reworking that code and
the freeze for the 4.8 merge window seemed to have hit a bad time.
Bugfixes are slowly percolating through the system. I think the regression
from Ted also has a big chance to be a similar issue.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch