Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.debian.kernel > #59590 > unrolled thread
| Started by | Vagrant Cascadian <vagrant@debian.org> |
|---|---|
| First post | 2017-12-11 04:00 +0100 |
| Last post | 2018-02-12 23:50 +0100 |
| Articles | 8 — 5 participants |
Back to article view | Back to linux.debian.kernel
Bug#884061: linux-image-4.9.0-4-amd64: screen scrolls wildly Vagrant Cascadian <vagrant@debian.org> - 2017-12-11 04:00 +0100
Bug#884061: linux-image-4.9.0-4-amd64: screen scrolls wildly Vagrant Cascadian <vagrant@debian.org> - 2017-12-11 23:50 +0100
Bug#884061: (no subject) Nick Smallbone <nick@smallbone.se> - 2017-12-12 21:10 +0100
Bug#884061: #884061: linux-image-4.9.0-4-amd64: screen scrolls wildly Vagrant Cascadian <vagrant@debian.org> - 2017-12-29 02:10 +0100
Processed: Re: #884061: linux-image-4.9.0-4-amd64: screen scrolls wildly "Debian Bug Tracking System" <owner@bugs.debian.org> - 2017-12-29 02:10 +0100
Bug#884061: 4.9.65-3+deb9u1 breaks things on AMD/Intel hybrid systems Tarik Graba <tarik.graba@telecom-paristech.fr> - 2018-01-03 15:20 +0100
Bug#884061: This bug severely affects anybody using intel graphics cards from 2015 Marga Manterola <marga@google.com> - 2018-01-22 19:10 +0100
Bug#884061: This bug severely affects anybody using intel graphics cards from 2015 Vagrant Cascadian <vagrant@debian.org> - 2018-02-12 23:50 +0100
| From | Vagrant Cascadian <vagrant@debian.org> |
|---|---|
| Date | 2017-12-11 04:00 +0100 |
| Subject | Bug#884061: linux-image-4.9.0-4-amd64: screen scrolls wildly |
| Message-ID | <uVmtX-7Ha-1@gated-at.bofh.it> |
[Multipart message — attachments visible in raw view] — view raw
Package: src:linux Version: 4.9.65-3 Severity: normal Since upgrading to 4.9.65-3, my screen occasionally starts rapidly scrolling sideways, flashing on and off repeatedly... looks almost like the refresh rate or sync was off, and it's displaying the leftmost part of the screen on the rightmost or the top of the display in the middle of the screen and other similar behaviors... When this starts to happen, usually there is a log in the dmesg output like this: [drm:gen8_irq_handler [i915]] *ERROR* CPU pipe A FIFO underrun Closing the lid and openening it again seems to fix it for a while, or makes it less severe (e.g. brief moments where the screen slides around or flickers). I'm going to try to find the last kernel version before I upgraded and see if I the issue is also triggered on that... live well, vagrant -- Package-specific info:
[toc] | [next] | [standalone]
| From | Vagrant Cascadian <vagrant@debian.org> |
|---|---|
| Date | 2017-12-11 23:50 +0100 |
| Message-ID | <uVF3A-317-5@gated-at.bofh.it> |
| In reply to | #59590 |
[Multipart message — attachments visible in raw view] — view raw
On 2017-12-10, Vagrant Cascadian wrote: > Since upgrading to 4.9.65-3, my screen occasionally starts rapidly > scrolling sideways, flashing on and off repeatedly... ... > When this starts to happen, usually there is a log in the dmesg output > like this: > > [drm:gen8_irq_handler [i915]] *ERROR* CPU pipe A FIFO underrun ... > I'm going to try to find the last kernel version before I upgraded and > see if I the issue is also triggered on that... Have been running 4.9.51-1 without issue today, so it seems like it really was introduced in 4.9.65-3. Also tried a 4.13.x kernel from stretch-backports, which seemed to have the same issue (though *maybe* less severe)... So I'm guessing some fix/feature was backported to 4.9 that triggers this problem. live well, vagrant
[toc] | [prev] | [next] | [standalone]
| From | Nick Smallbone <nick@smallbone.se> |
|---|---|
| Date | 2017-12-12 21:10 +0100 |
| Subject | Bug#884061: (no subject) |
| Message-ID | <uVZ2h-7Ny-3@gated-at.bofh.it> |
| In reply to | #59590 |
I get this too after upgrading from 4.9.30-2+deb9u5 to 4.9.65-3.
Same dmesg error as Vagrant, together with either crazy flickering
or a hard crash. It happens usually about 30 seconds after starting X.
I tried using "git bisect" on the upstream linux-stable repository.
It points the finger at the following commit:
7de694782cbe7840f2c0de6f1e70f41fc1b8b6e8 is the first bad commit
commit 7de694782cbe7840f2c0de6f1e70f41fc1b8b6e8
Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Date: Thu Oct 19 17:13:40 2017 +0200
drm/i915: Do not rely on wm preservation for ILK watermarks
commit 8777b927b92cf5b6c29f9f9d3c737addea9ac8a7 upstream.
The original intent was to preserve watermarks as much as possible
in intel_pipe_wm.raw_wm, and put the validated ones in intel_pipe_wm.wm.
It seems this approach is insufficient and we don't always preserve
the raw watermarks, so just use the atomic iterator we're already using
to get a const pointer to all bound planes on the crtc.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102373
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Acked-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171019151341.4579-1-maarten.lankhorst@linux.intel.com
(cherry picked from commit 28283f4f359cd7cfa9e65457bb98c507a2cd0cd0)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
:040000 040000 072d8db147e7c6feb397661767c67acc543fc7e1 c73d489829736f47f7186bbde766887e5a88b130 M drivers
Indeed, using this commit provokes the error, while the parent commit
(b35783871190a8fcf31c2216638b92bcb2bf152e) does not (at least for me).
Nick
[toc] | [prev] | [next] | [standalone]
| From | Vagrant Cascadian <vagrant@debian.org> |
|---|---|
| Date | 2017-12-29 02:10 +0100 |
| Subject | Bug#884061: #884061: linux-image-4.9.0-4-amd64: screen scrolls wildly |
| Message-ID | <v1Rln-66-3@gated-at.bofh.it> |
| In reply to | #59636 |
[Multipart message — attachments visible in raw view] — view raw
Control: tags 884061 +patch
On 2017-12-12, Nick Smallbone wrote:
> I get this too after upgrading from 4.9.30-2+deb9u5 to 4.9.65-3.
> Same dmesg error as Vagrant, together with either crazy flickering
> or a hard crash. It happens usually about 30 seconds after starting X.
>
> I tried using "git bisect" on the upstream linux-stable repository.
> It points the finger at the following commit:
>
> 7de694782cbe7840f2c0de6f1e70f41fc1b8b6e8 is the first bad commit
> commit 7de694782cbe7840f2c0de6f1e70f41fc1b8b6e8
> Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Date: Thu Oct 19 17:13:40 2017 +0200
>
> drm/i915: Do not rely on wm preservation for ILK watermarks
>
> commit 8777b927b92cf5b6c29f9f9d3c737addea9ac8a7 upstream.
Thanks for bisecting the issue!
I just tested simply reverting this patch with 4.9.65-3+deb9u1, and it's
been running without problem for at least three hours. So that confirms
that it works around the issue, at least.
I'm not sure if there's a better fix than simply reverting this; this is
clearly a regression for at least two users that makes the system almost
unusable.
From 4c01095ae53794023e772f9afb753bef67c3d84c Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagrant@debian.org>
Date: Thu, 28 Dec 2017 11:21:30 -0800
Subject: [PATCH] Revert "drm/i915: Do not rely on wm preservation for ILK
watermarks"
This reverts commit 7de694782cbe7840f2c0de6f1e70f41fc1b8b6e8.
---
drivers/gpu/drm/i915/intel_drv.h | 1 +
drivers/gpu/drm/i915/intel_pm.c | 52 +++++++++++++++++++++++-----------------
2 files changed, 31 insertions(+), 22 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 3ce9ba30d827..a19ec06f9e42 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -457,6 +457,7 @@ struct intel_crtc_scaler_state {
struct intel_pipe_wm {
struct intel_wm_level wm[5];
+ struct intel_wm_level raw_wm[5];
uint32_t linetime;
bool fbc_wm_enabled;
bool pipe_enabled;
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 277a8026460b..49de4760cc16 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -27,7 +27,6 @@
#include <linux/cpufreq.h>
#include <drm/drm_plane_helper.h>
-#include <drm/drm_atomic_helper.h>
#include "i915_drv.h"
#include "intel_drv.h"
#include "../../../platform/x86/intel_ips.h"
@@ -2018,9 +2017,9 @@ static void ilk_compute_wm_level(const struct drm_i915_private *dev_priv,
const struct intel_crtc *intel_crtc,
int level,
struct intel_crtc_state *cstate,
- const struct intel_plane_state *pristate,
- const struct intel_plane_state *sprstate,
- const struct intel_plane_state *curstate,
+ struct intel_plane_state *pristate,
+ struct intel_plane_state *sprstate,
+ struct intel_plane_state *curstate,
struct intel_wm_level *result)
{
uint16_t pri_latency = dev_priv->wm.pri_latency[level];
@@ -2342,24 +2341,28 @@ static int ilk_compute_pipe_wm(struct intel_crtc_state *cstate)
struct intel_pipe_wm *pipe_wm;
struct drm_device *dev = state->dev;
const struct drm_i915_private *dev_priv = to_i915(dev);
- struct drm_plane *plane;
- const struct drm_plane_state *plane_state;
- const struct intel_plane_state *pristate = NULL;
- const struct intel_plane_state *sprstate = NULL;
- const struct intel_plane_state *curstate = NULL;
+ struct intel_plane *intel_plane;
+ struct intel_plane_state *pristate = NULL;
+ struct intel_plane_state *sprstate = NULL;
+ struct intel_plane_state *curstate = NULL;
int level, max_level = ilk_wm_max_level(dev), usable_level;
struct ilk_wm_maximums max;
pipe_wm = &cstate->wm.ilk.optimal;
- drm_atomic_crtc_state_for_each_plane_state(plane, plane_state, &cstate->base) {
- const struct intel_plane_state *ps = to_intel_plane_state(plane_state);
+ for_each_intel_plane_on_crtc(dev, intel_crtc, intel_plane) {
+ struct intel_plane_state *ps;
- if (plane->type == DRM_PLANE_TYPE_PRIMARY)
+ ps = intel_atomic_get_existing_plane_state(state,
+ intel_plane);
+ if (!ps)
+ continue;
+
+ if (intel_plane->base.type == DRM_PLANE_TYPE_PRIMARY)
pristate = ps;
- else if (plane->type == DRM_PLANE_TYPE_OVERLAY)
+ else if (intel_plane->base.type == DRM_PLANE_TYPE_OVERLAY)
sprstate = ps;
- else if (plane->type == DRM_PLANE_TYPE_CURSOR)
+ else if (intel_plane->base.type == DRM_PLANE_TYPE_CURSOR)
curstate = ps;
}
@@ -2381,9 +2384,11 @@ static int ilk_compute_pipe_wm(struct intel_crtc_state *cstate)
if (pipe_wm->sprites_scaled)
usable_level = 0;
- memset(&pipe_wm->wm, 0, sizeof(pipe_wm->wm));
ilk_compute_wm_level(dev_priv, intel_crtc, 0, cstate,
- pristate, sprstate, curstate, &pipe_wm->wm[0]);
+ pristate, sprstate, curstate, &pipe_wm->raw_wm[0]);
+
+ memset(&pipe_wm->wm, 0, sizeof(pipe_wm->wm));
+ pipe_wm->wm[0] = pipe_wm->raw_wm[0];
if (IS_HASWELL(dev) || IS_BROADWELL(dev))
pipe_wm->linetime = hsw_compute_linetime_wm(cstate);
@@ -2393,8 +2398,8 @@ static int ilk_compute_pipe_wm(struct intel_crtc_state *cstate)
ilk_compute_wm_reg_maximums(dev, 1, &max);
- for (level = 1; level <= usable_level; level++) {
- struct intel_wm_level *wm = &pipe_wm->wm[level];
+ for (level = 1; level <= max_level; level++) {
+ struct intel_wm_level *wm = &pipe_wm->raw_wm[level];
ilk_compute_wm_level(dev_priv, intel_crtc, level, cstate,
pristate, sprstate, curstate, wm);
@@ -2404,10 +2409,13 @@ static int ilk_compute_pipe_wm(struct intel_crtc_state *cstate)
* register maximums since such watermarks are
* always invalid.
*/
- if (!ilk_validate_wm_level(level, &max, wm)) {
- memset(wm, 0, sizeof(*wm));
- break;
- }
+ if (level > usable_level)
+ continue;
+
+ if (ilk_validate_wm_level(level, &max, wm))
+ pipe_wm->wm[level] = *wm;
+ else
+ usable_level = level;
}
return 0;
--
2.11.0
live well,
vagrant
[toc] | [prev] | [next] | [standalone]
| From | "Debian Bug Tracking System" <owner@bugs.debian.org> |
|---|---|
| Date | 2017-12-29 02:10 +0100 |
| Subject | Processed: Re: #884061: linux-image-4.9.0-4-amd64: screen scrolls wildly |
| Message-ID | <v1Rln-66-5@gated-at.bofh.it> |
| In reply to | #59590 |
Processing control commands: > tags 884061 +patch Bug #884061 [src:linux] linux-image-4.9.0-4-amd64: screen scrolls wildly Added tag(s) patch. -- 884061: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=884061 Debian Bug Tracking System Contact owner@bugs.debian.org with problems
[toc] | [prev] | [next] | [standalone]
| From | Tarik Graba <tarik.graba@telecom-paristech.fr> |
|---|---|
| Date | 2018-01-03 15:20 +0100 |
| Subject | Bug#884061: 4.9.65-3+deb9u1 breaks things on AMD/Intel hybrid systems |
| Message-ID | <v3S3D-8jb-1@gated-at.bofh.it> |
| In reply to | #59590 |
Hi, The last kernel security update (4.9.65-3+deb9u1) makes it impossible to log in a gnome session from gdm3. gdm3 starts correctly but when I try to start a gnome session, every thing hangs and I have to hard reboot the machine (which makes it hard to debug). The system is an HP Zbook 15u G2 with hybrid AMD/Intel graphics. --- lspci | grep VGA 00:02.0 VGA compatible controller: Intel Corporation HD Graphics 5500 (rev 09) 04:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Opal XT [Radeon R7 M265] --- Also, with kernel 4.9.65-3, I have some strange flickering on an external display (display port). I had to move to a backport kernel (4.13.0-0.bpo.1-amd64 #1 SMP Debian 4.13.13-1~bpo9+1) to get a usable machine. Tarik
[toc] | [prev] | [next] | [standalone]
| From | Marga Manterola <marga@google.com> |
|---|---|
| Date | 2018-01-22 19:10 +0100 |
| Subject | Bug#884061: This bug severely affects anybody using intel graphics cards from 2015 |
| Message-ID | <vaOHE-8de-9@gated-at.bofh.it> |
| In reply to | #59590 |
[Multipart message — attachments visible in raw view] — view raw
This bug can make machines that include the affected graphics card
completely unusable.
The bad commit has been identified here by Vagrant, and independently by
several other people. It was already reverted in the 4.9.66 upstream
release:
commit aa8f1adcf964a8f2ebd0c709a308d26dd4b9863b
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: Tue Nov 28 10:15:23 2017 +0100
Revert "drm/i915: Do not rely on wm preservation for ILK watermarks"
This reverts commit 7de694782cbe7840f2c0de6f1e70f41fc1b8b6e8 which is
commit 8777b927b92cf5b6c29f9f9d3c737addea9ac8a7 upstream.
It was reported to cause flickering and other regressions.
Any chance we can get a new kernel without that commit?
Thanks!
--
Cheers,
Marga
[toc] | [prev] | [next] | [standalone]
| From | Vagrant Cascadian <vagrant@debian.org> |
|---|---|
| Date | 2018-02-12 23:50 +0100 |
| Subject | Bug#884061: This bug severely affects anybody using intel graphics cards from 2015 |
| Message-ID | <viv57-6Dl-3@gated-at.bofh.it> |
| In reply to | #60046 |
[Multipart message — attachments visible in raw view] — view raw
Control: fixed 884061 4.9.80-1 On 2018-01-22, Marga Manterola wrote: > This bug can make machines that include the affected graphics card > completely unusable. ... > Any chance we can get a new kernel without that commit? I can confirm 4.9.80-1 from stretch-proposed-updates fixes the issue for me. I've been running it for several days without issue. It appears 4.9.80-2 is out now as well. Not sure how long till the next point release, but at least one can use stretch-proposed-updates for now. Thanks to everyone who helped resolve the issue! live well, vagrant
[toc] | [prev] | [standalone]
Back to top | Article view | linux.debian.kernel
csiph-web