Re: [Intel-gfx] xrandr fails after resume from hibernation in kernels 4.7.4 and 4.8.0
From: Ville Syrjälä
Date: Fri Oct 28 2016 - 12:23:38 EST
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