All of lore.kernel.org
 help / color / mirror / Atom feed
* drm/i915 4.5/4.6 stable backport request for CHV
@ 2016-05-27  8:30 ville.syrjala
  2016-05-27  8:30 ` [PATCH for v4.5] drm/i915: Fix watermarks for VLV/CHV ville.syrjala
                   ` (3 more replies)
  0 siblings, 4 replies; 14+ messages in thread
From: ville.syrjala @ 2016-05-27  8:30 UTC (permalink / raw)
  To: intel-gfx; +Cc: stable

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Several nasty i915 regressions affecting CHV slipped through
to 4.5 and 4.6.

The first fix we want in 4.5 and 4.6 is
commit caed361d83b2 ("drm/i915: Fix watermarks for VLV/CHV")
It won't cherry-pick cleanly to either one, so I've included conflict
free versions for both. This one fixes display FIFO underruns that can
lead to the screen totally blanking out.

The other one I'd like to have in 4.6 is
commit 9f6151c90390 ("drm/i915: Pass the correct crtc state to .update_plane()")
which avoids a totally corrupted display in some cases.

And the third on is a bit more annoying. The regression is caused by
commit 9dbaab56ac09 ("drm/i915: Exit cherryview_irq_handler() after one pass")
which I though we had prevented from getting out on its own, but turns
out I was wrong. It basically makes the GPU unusable, so we do need to
fix it somehow. The simple solution would be to revert it in 4.6 only.
The more complicated solution is to backport the proper fix, which more
or less requires the following set of commits [1], which is maybe a bit
too much for stable. I could try to trim it a bit perhaps, but then we
start to enter the territory of untested code which I don't particularly
like. Let me know what you think.

[1]
 1e1cace942ef ("drm/i915: Eliminate loop from VLV irq handler")
 a5e485a95c9c ("drm/i915: Clear VLV_IER around irq processing")
 4a0a0202b023 ("drm/i915: Clear VLV_MASTER_IER around irq processing")
 7ce4d1f2730f ("drm/i915: Clear VLV_IIR after PIPESTAT")
 34c7b8a7b8b5 ("drm/i915: Set up VLV_MASTER_IER consistently")
 e5328c43d46e ("drm/i915: Use GEN8_MASTER_IRQ_CONTROL consistently")
 71b8b41d5b35 ("drm/i915: Move DPINVGTT setup to vlv_display_irq_reset()")
 6b7eafc1b43d ("drm/i915: Warn if irq_mask isn't ~0 during vlv/cvh display irq postinstall")
 9ab981f22bef ("drm/i915: Use GEN5_IRQ_INIT() in vlv_display_irq_postinstall()")
 d6c698035892 ("drm/i915: Clear display interrupt before enabling when turning on the power well")
 8bb613068a63 ("drm/i915: Move vlv/chv display irq code to a more logical place")
 9918271efc7a ("drm/i915: Skip display irq setup if display irqs aren't flagged as enabled")
 ad22d10654ea ("drm/i915: Fix up vlv/chv display irq setup")
 93de68f94081 ("drm/i915: Remove "VLV magic" from irq setup")

Cc: stable@vger.kernel.org
-- 
Ville Syrjälä
Intel OTC

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH for v4.5] drm/i915: Fix watermarks for VLV/CHV
  2016-05-27  8:30 drm/i915 4.5/4.6 stable backport request for CHV ville.syrjala
@ 2016-05-27  8:30 ` ville.syrjala
  2016-05-27  8:30   ` ville.syrjala
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 14+ messages in thread
From: ville.syrjala @ 2016-05-27  8:30 UTC (permalink / raw)
  To: intel-gfx; +Cc: stable

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

commit caed361d83b2 upstream

commit 92826fcdfc14 ("drm/i915: Calculate watermark related members in the crtc_state, v4.")
broke thigns by removing the pre vs. post wm update distinction. We also
lost the pre plane wm update entirely for VLV/CHV from the crtc enable
path.

This caused underruns on modeset and plane enable/disable on CHV,
and often those can lead to a dead pipe.

So let's bring back the pre vs. post thing, and let's toss in an
explicit wm update to valleyview_crtc_enable() to avoid having to
put it into the common code.

This is more or less a partial revert of the offending commit.

Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: drm-intel-fixes@lists.freedesktop.org
Fixes: 92826fcdfc14 ("drm/i915: Calculate watermark related members in the crtc_state, v4.")
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1457543247-13987-4-git-send-email-ville.syrjala@linux.intel.com
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: <stable@vger.kernel.org> # v4.5
---
 drivers/gpu/drm/i915/intel_atomic.c  |  3 ++-
 drivers/gpu/drm/i915/intel_display.c | 21 +++++++++++++++------
 drivers/gpu/drm/i915/intel_drv.h     |  2 +-
 3 files changed, 18 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_atomic.c b/drivers/gpu/drm/i915/intel_atomic.c
index d0b1c9afa35e..6314446f58fa 100644
--- a/drivers/gpu/drm/i915/intel_atomic.c
+++ b/drivers/gpu/drm/i915/intel_atomic.c
@@ -96,7 +96,8 @@ intel_crtc_duplicate_state(struct drm_crtc *crtc)
 	crtc_state->update_pipe = false;
 	crtc_state->disable_lp_wm = false;
 	crtc_state->disable_cxsr = false;
-	crtc_state->wm_changed = false;
+	crtc_state->update_wm_pre = false;
+	crtc_state->update_wm_post = false;
 
 	return &crtc_state->base;
 }
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 39b00b9daf2d..207391e89599 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -4816,7 +4816,7 @@ static void intel_post_plane_update(struct intel_crtc *crtc)
 
 	crtc->wm.cxsr_allowed = true;
 
-	if (pipe_config->wm_changed && pipe_config->base.active)
+	if (pipe_config->update_wm_post && pipe_config->base.active)
 		intel_update_watermarks(&crtc->base);
 
 	if (atomic->update_fbc)
@@ -4850,7 +4850,7 @@ static void intel_pre_plane_update(struct intel_crtc *crtc)
 		intel_set_memory_cxsr(dev_priv, false);
 	}
 
-	if (!needs_modeset(&pipe_config->base) && pipe_config->wm_changed)
+	if (!needs_modeset(&pipe_config->base) && pipe_config->update_wm_pre)
 		intel_update_watermarks(&crtc->base);
 }
 
@@ -6229,6 +6229,7 @@ static void valleyview_crtc_enable(struct drm_crtc *crtc)
 
 	intel_crtc_load_lut(crtc);
 
+	intel_update_watermarks(crtc);
 	intel_enable_pipe(intel_crtc);
 
 	assert_vblank_disabled(crtc);
@@ -11881,8 +11882,14 @@ int intel_plane_atomic_calc_changes(struct drm_crtc_state *crtc_state,
 			 plane->base.id, was_visible, visible,
 			 turn_off, turn_on, mode_changed);
 
-	if (turn_on || turn_off) {
-		pipe_config->wm_changed = true;
+	if (turn_on) {
+		pipe_config->update_wm_pre = true;
+
+		/* must disable cxsr around plane enable/disable */
+		if (plane->type != DRM_PLANE_TYPE_CURSOR)
+			pipe_config->disable_cxsr = true;
+	} else if (turn_off) {
+		pipe_config->update_wm_post = true;
 
 		/* must disable cxsr around plane enable/disable */
 		if (plane->type != DRM_PLANE_TYPE_CURSOR) {
@@ -11891,7 +11898,9 @@ int intel_plane_atomic_calc_changes(struct drm_crtc_state *crtc_state,
 			pipe_config->disable_cxsr = true;
 		}
 	} else if (intel_wm_need_update(plane, plane_state)) {
-		pipe_config->wm_changed = true;
+		/* FIXME bollocks */
+		pipe_config->update_wm_pre = true;
+		pipe_config->update_wm_post = true;
 	}
 
 	if (visible || was_visible)
@@ -12036,7 +12045,7 @@ static int intel_crtc_atomic_check(struct drm_crtc *crtc,
 	}
 
 	if (mode_changed && !crtc_state->active)
-		pipe_config->wm_changed = true;
+		pipe_config->update_wm_post = true;
 
 	if (mode_changed && crtc_state->enable &&
 	    dev_priv->display.crtc_compute_clock &&
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 1ae61f488987..c6f045ecb15a 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -367,7 +367,7 @@ struct intel_crtc_state {
 
 	bool update_pipe; /* can a fast modeset be performed? */
 	bool disable_cxsr;
-	bool wm_changed; /* watermarks are updated */
+	bool update_wm_pre, update_wm_post; /* watermarks are updated */
 
 	/* Pipe source size (ie. panel fitter input size)
 	 * All planes will be positioned inside this space,
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH for v4.6] drm/i915: Fix watermarks for VLV/CHV
  2016-05-27  8:30 drm/i915 4.5/4.6 stable backport request for CHV ville.syrjala
@ 2016-05-27  8:30   ` ville.syrjala
  2016-05-27  8:30   ` ville.syrjala
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 14+ messages in thread
From: ville.syrjala @ 2016-05-27  8:30 UTC (permalink / raw)
  To: intel-gfx; +Cc: stable

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

commit caed361d83b2 upstream

commit 92826fcdfc14 ("drm/i915: Calculate watermark related members in the crtc_state, v4.")
broke thigns by removing the pre vs. post wm update distinction. We also
lost the pre plane wm update entirely for VLV/CHV from the crtc enable
path.

This caused underruns on modeset and plane enable/disable on CHV,
and often those can lead to a dead pipe.

So let's bring back the pre vs. post thing, and let's toss in an
explicit wm update to valleyview_crtc_enable() to avoid having to
put it into the common code.

This is more or less a partial revert of the offending commit.

Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: drm-intel-fixes@lists.freedesktop.org
Fixes: 92826fcdfc14 ("drm/i915: Calculate watermark related members in the crtc_state, v4.")
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1457543247-13987-4-git-send-email-ville.syrjala@linux.intel.com
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: <stable@vger.kernel.org> # v4.6
---
 drivers/gpu/drm/i915/intel_atomic.c  |  3 ++-
 drivers/gpu/drm/i915/intel_display.c | 25 +++++++++++++++++--------
 drivers/gpu/drm/i915/intel_drv.h     |  2 +-
 3 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_atomic.c b/drivers/gpu/drm/i915/intel_atomic.c
index 8e579a8505ac..e7c1686e479c 100644
--- a/drivers/gpu/drm/i915/intel_atomic.c
+++ b/drivers/gpu/drm/i915/intel_atomic.c
@@ -96,7 +96,8 @@ intel_crtc_duplicate_state(struct drm_crtc *crtc)
 	crtc_state->update_pipe = false;
 	crtc_state->disable_lp_wm = false;
 	crtc_state->disable_cxsr = false;
-	crtc_state->wm_changed = false;
+	crtc_state->update_wm_pre = false;
+	crtc_state->update_wm_post = false;
 	crtc_state->fb_changed = false;
 
 	return &crtc_state->base;
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 0104a06d01fd..c7fc229cb242 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -4796,7 +4796,7 @@ static void intel_post_plane_update(struct intel_crtc *crtc)
 
 	crtc->wm.cxsr_allowed = true;
 
-	if (pipe_config->wm_changed && pipe_config->base.active)
+	if (pipe_config->update_wm_post && pipe_config->base.active)
 		intel_update_watermarks(&crtc->base);
 
 	if (atomic->update_fbc)
@@ -4843,7 +4843,7 @@ static void intel_pre_plane_update(struct intel_crtc_state *old_crtc_state)
 			intel_set_memory_cxsr(dev_priv, false);
 	}
 
-	if (!needs_modeset(&pipe_config->base) && pipe_config->wm_changed)
+	if (!needs_modeset(&pipe_config->base) && pipe_config->update_wm_pre)
 		intel_update_watermarks(&crtc->base);
 }
 
@@ -6210,6 +6210,7 @@ static void valleyview_crtc_enable(struct drm_crtc *crtc)
 
 	intel_crtc_load_lut(crtc);
 
+	intel_update_watermarks(crtc);
 	intel_enable_pipe(intel_crtc);
 
 	assert_vblank_disabled(crtc);
@@ -11833,14 +11834,22 @@ int intel_plane_atomic_calc_changes(struct drm_crtc_state *crtc_state,
 			 plane->base.id, was_visible, visible,
 			 turn_off, turn_on, mode_changed);
 
-	if (turn_on || turn_off) {
-		pipe_config->wm_changed = true;
+	if (turn_on) {
+		pipe_config->update_wm_pre = true;
+
+		/* must disable cxsr around plane enable/disable */
+		if (plane->type != DRM_PLANE_TYPE_CURSOR)
+			pipe_config->disable_cxsr = true;
+	} else if (turn_off) {
+		pipe_config->update_wm_post = true;
 
 		/* must disable cxsr around plane enable/disable */
 		if (plane->type != DRM_PLANE_TYPE_CURSOR)
 			pipe_config->disable_cxsr = true;
 	} else if (intel_wm_need_update(plane, plane_state)) {
-		pipe_config->wm_changed = true;
+		/* FIXME bollocks */
+		pipe_config->update_wm_pre = true;
+		pipe_config->update_wm_post = true;
 	}
 
 	if (visible || was_visible)
@@ -11940,7 +11949,7 @@ static int intel_crtc_atomic_check(struct drm_crtc *crtc,
 	}
 
 	if (mode_changed && !crtc_state->active)
-		pipe_config->wm_changed = true;
+		pipe_config->update_wm_post = true;
 
 	if (mode_changed && crtc_state->enable &&
 	    dev_priv->display.crtc_compute_clock &&
@@ -13453,12 +13462,12 @@ static bool needs_vblank_wait(struct intel_crtc_state *crtc_state)
 		return true;
 
 	/* wm changes, need vblank before final wm's */
-	if (crtc_state->wm_changed)
+	if (crtc_state->update_wm_post)
 		return true;
 
 	/*
 	 * cxsr is re-enabled after vblank.
-	 * This is already handled by crtc_state->wm_changed,
+	 * This is already handled by crtc_state->update_wm_post,
 	 * but added for clarity.
 	 */
 	if (crtc_state->disable_cxsr)
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 9d0770c23fde..faf180c40f55 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -378,7 +378,7 @@ struct intel_crtc_state {
 
 	bool update_pipe; /* can a fast modeset be performed? */
 	bool disable_cxsr;
-	bool wm_changed; /* watermarks are updated */
+	bool update_wm_pre, update_wm_post; /* watermarks are updated */
 	bool fb_changed; /* fb on any of the planes is changed */
 
 	/* Pipe source size (ie. panel fitter input size)
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH for v4.6] drm/i915: Fix watermarks for VLV/CHV
@ 2016-05-27  8:30   ` ville.syrjala
  0 siblings, 0 replies; 14+ messages in thread
From: ville.syrjala @ 2016-05-27  8:30 UTC (permalink / raw)
  To: intel-gfx; +Cc: stable

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

commit caed361d83b2 upstream

commit 92826fcdfc14 ("drm/i915: Calculate watermark related members in the crtc_state, v4.")
broke thigns by removing the pre vs. post wm update distinction. We also
lost the pre plane wm update entirely for VLV/CHV from the crtc enable
path.

This caused underruns on modeset and plane enable/disable on CHV,
and often those can lead to a dead pipe.

So let's bring back the pre vs. post thing, and let's toss in an
explicit wm update to valleyview_crtc_enable() to avoid having to
put it into the common code.

This is more or less a partial revert of the offending commit.

Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: drm-intel-fixes@lists.freedesktop.org
Fixes: 92826fcdfc14 ("drm/i915: Calculate watermark related members in the crtc_state, v4.")
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1457543247-13987-4-git-send-email-ville.syrjala@linux.intel.com
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: <stable@vger.kernel.org> # v4.6
---
 drivers/gpu/drm/i915/intel_atomic.c  |  3 ++-
 drivers/gpu/drm/i915/intel_display.c | 25 +++++++++++++++++--------
 drivers/gpu/drm/i915/intel_drv.h     |  2 +-
 3 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_atomic.c b/drivers/gpu/drm/i915/intel_atomic.c
index 8e579a8505ac..e7c1686e479c 100644
--- a/drivers/gpu/drm/i915/intel_atomic.c
+++ b/drivers/gpu/drm/i915/intel_atomic.c
@@ -96,7 +96,8 @@ intel_crtc_duplicate_state(struct drm_crtc *crtc)
 	crtc_state->update_pipe = false;
 	crtc_state->disable_lp_wm = false;
 	crtc_state->disable_cxsr = false;
-	crtc_state->wm_changed = false;
+	crtc_state->update_wm_pre = false;
+	crtc_state->update_wm_post = false;
 	crtc_state->fb_changed = false;
 
 	return &crtc_state->base;
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 0104a06d01fd..c7fc229cb242 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -4796,7 +4796,7 @@ static void intel_post_plane_update(struct intel_crtc *crtc)
 
 	crtc->wm.cxsr_allowed = true;
 
-	if (pipe_config->wm_changed && pipe_config->base.active)
+	if (pipe_config->update_wm_post && pipe_config->base.active)
 		intel_update_watermarks(&crtc->base);
 
 	if (atomic->update_fbc)
@@ -4843,7 +4843,7 @@ static void intel_pre_plane_update(struct intel_crtc_state *old_crtc_state)
 			intel_set_memory_cxsr(dev_priv, false);
 	}
 
-	if (!needs_modeset(&pipe_config->base) && pipe_config->wm_changed)
+	if (!needs_modeset(&pipe_config->base) && pipe_config->update_wm_pre)
 		intel_update_watermarks(&crtc->base);
 }
 
@@ -6210,6 +6210,7 @@ static void valleyview_crtc_enable(struct drm_crtc *crtc)
 
 	intel_crtc_load_lut(crtc);
 
+	intel_update_watermarks(crtc);
 	intel_enable_pipe(intel_crtc);
 
 	assert_vblank_disabled(crtc);
@@ -11833,14 +11834,22 @@ int intel_plane_atomic_calc_changes(struct drm_crtc_state *crtc_state,
 			 plane->base.id, was_visible, visible,
 			 turn_off, turn_on, mode_changed);
 
-	if (turn_on || turn_off) {
-		pipe_config->wm_changed = true;
+	if (turn_on) {
+		pipe_config->update_wm_pre = true;
+
+		/* must disable cxsr around plane enable/disable */
+		if (plane->type != DRM_PLANE_TYPE_CURSOR)
+			pipe_config->disable_cxsr = true;
+	} else if (turn_off) {
+		pipe_config->update_wm_post = true;
 
 		/* must disable cxsr around plane enable/disable */
 		if (plane->type != DRM_PLANE_TYPE_CURSOR)
 			pipe_config->disable_cxsr = true;
 	} else if (intel_wm_need_update(plane, plane_state)) {
-		pipe_config->wm_changed = true;
+		/* FIXME bollocks */
+		pipe_config->update_wm_pre = true;
+		pipe_config->update_wm_post = true;
 	}
 
 	if (visible || was_visible)
@@ -11940,7 +11949,7 @@ static int intel_crtc_atomic_check(struct drm_crtc *crtc,
 	}
 
 	if (mode_changed && !crtc_state->active)
-		pipe_config->wm_changed = true;
+		pipe_config->update_wm_post = true;
 
 	if (mode_changed && crtc_state->enable &&
 	    dev_priv->display.crtc_compute_clock &&
@@ -13453,12 +13462,12 @@ static bool needs_vblank_wait(struct intel_crtc_state *crtc_state)
 		return true;
 
 	/* wm changes, need vblank before final wm's */
-	if (crtc_state->wm_changed)
+	if (crtc_state->update_wm_post)
 		return true;
 
 	/*
 	 * cxsr is re-enabled after vblank.
-	 * This is already handled by crtc_state->wm_changed,
+	 * This is already handled by crtc_state->update_wm_post,
 	 * but added for clarity.
 	 */
 	if (crtc_state->disable_cxsr)
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 9d0770c23fde..faf180c40f55 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -378,7 +378,7 @@ struct intel_crtc_state {
 
 	bool update_pipe; /* can a fast modeset be performed? */
 	bool disable_cxsr;
-	bool wm_changed; /* watermarks are updated */
+	bool update_wm_pre, update_wm_post; /* watermarks are updated */
 	bool fb_changed; /* fb on any of the planes is changed */
 
 	/* Pipe source size (ie. panel fitter input size)
-- 
2.7.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* ✗ Ro.CI.BAT: failure for drm/i915: Fix watermarks for VLV/CHV
  2016-05-27  8:30 drm/i915 4.5/4.6 stable backport request for CHV ville.syrjala
  2016-05-27  8:30 ` [PATCH for v4.5] drm/i915: Fix watermarks for VLV/CHV ville.syrjala
  2016-05-27  8:30   ` ville.syrjala
@ 2016-05-27  8:32 ` Patchwork
  2016-06-04 21:06   ` Greg KH
  3 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2016-05-27  8:32 UTC (permalink / raw)
  To: ville.syrjala; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Fix watermarks for VLV/CHV
URL   : https://patchwork.freedesktop.org/series/7867/
State : failure

== Summary ==

Applying: drm/i915: Fix watermarks for VLV/CHV
Patch failed at 0001 drm/i915: Fix watermarks for VLV/CHV
The copy of the patch that failed is found in: .git/rebase-apply/patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: drm/i915 4.5/4.6 stable backport request for CHV
  2016-05-27  8:30 drm/i915 4.5/4.6 stable backport request for CHV ville.syrjala
@ 2016-06-04 21:06   ` Greg KH
  2016-05-27  8:30   ` ville.syrjala
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 14+ messages in thread
From: Greg KH @ 2016-06-04 21:06 UTC (permalink / raw)
  To: ville.syrjala; +Cc: intel-gfx, stable

On Fri, May 27, 2016 at 11:30:30AM +0300, ville.syrjala@linux.intel.com wrote:
> From: Ville Syrj�l� <ville.syrjala@linux.intel.com>
> 
> Several nasty i915 regressions affecting CHV slipped through
> to 4.5 and 4.6.
> 
> The first fix we want in 4.5 and 4.6 is
> commit caed361d83b2 ("drm/i915: Fix watermarks for VLV/CHV")
> It won't cherry-pick cleanly to either one, so I've included conflict
> free versions for both. This one fixes display FIFO underruns that can
> lead to the screen totally blanking out.

Now applied, thanks.

> The other one I'd like to have in 4.6 is
> commit 9f6151c90390 ("drm/i915: Pass the correct crtc state to .update_plane()")
> which avoids a totally corrupted display in some cases.

Now applied.

> And the third on is a bit more annoying. The regression is caused by
> commit 9dbaab56ac09 ("drm/i915: Exit cherryview_irq_handler() after one pass")
> which I though we had prevented from getting out on its own, but turns
> out I was wrong. It basically makes the GPU unusable, so we do need to
> fix it somehow. The simple solution would be to revert it in 4.6 only.
> The more complicated solution is to backport the proper fix, which more
> or less requires the following set of commits [1], which is maybe a bit
> too much for stable. I could try to trim it a bit perhaps, but then we
> start to enter the territory of untested code which I don't particularly
> like. Let me know what you think.
> 
> [1]
>  1e1cace942ef ("drm/i915: Eliminate loop from VLV irq handler")
>  a5e485a95c9c ("drm/i915: Clear VLV_IER around irq processing")
>  4a0a0202b023 ("drm/i915: Clear VLV_MASTER_IER around irq processing")
>  7ce4d1f2730f ("drm/i915: Clear VLV_IIR after PIPESTAT")
>  34c7b8a7b8b5 ("drm/i915: Set up VLV_MASTER_IER consistently")
>  e5328c43d46e ("drm/i915: Use GEN8_MASTER_IRQ_CONTROL consistently")
>  71b8b41d5b35 ("drm/i915: Move DPINVGTT setup to vlv_display_irq_reset()")
>  6b7eafc1b43d ("drm/i915: Warn if irq_mask isn't ~0 during vlv/cvh display irq postinstall")
>  9ab981f22bef ("drm/i915: Use GEN5_IRQ_INIT() in vlv_display_irq_postinstall()")
>  d6c698035892 ("drm/i915: Clear display interrupt before enabling when turning on the power well")
>  8bb613068a63 ("drm/i915: Move vlv/chv display irq code to a more logical place")
>  9918271efc7a ("drm/i915: Skip display irq setup if display irqs aren't flagged as enabled")
>  ad22d10654ea ("drm/i915: Fix up vlv/chv display irq setup")
>  93de68f94081 ("drm/i915: Remove "VLV magic" from irq setup")

I think reverting that one patch for 4.6 makes more sense than adding
all of these patches.  I'll do that if you want me to.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: drm/i915 4.5/4.6 stable backport request for CHV
@ 2016-06-04 21:06   ` Greg KH
  0 siblings, 0 replies; 14+ messages in thread
From: Greg KH @ 2016-06-04 21:06 UTC (permalink / raw)
  To: ville.syrjala; +Cc: intel-gfx, stable

On Fri, May 27, 2016 at 11:30:30AM +0300, ville.syrjala@linux.intel.com wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> Several nasty i915 regressions affecting CHV slipped through
> to 4.5 and 4.6.
> 
> The first fix we want in 4.5 and 4.6 is
> commit caed361d83b2 ("drm/i915: Fix watermarks for VLV/CHV")
> It won't cherry-pick cleanly to either one, so I've included conflict
> free versions for both. This one fixes display FIFO underruns that can
> lead to the screen totally blanking out.

Now applied, thanks.

> The other one I'd like to have in 4.6 is
> commit 9f6151c90390 ("drm/i915: Pass the correct crtc state to .update_plane()")
> which avoids a totally corrupted display in some cases.

Now applied.

> And the third on is a bit more annoying. The regression is caused by
> commit 9dbaab56ac09 ("drm/i915: Exit cherryview_irq_handler() after one pass")
> which I though we had prevented from getting out on its own, but turns
> out I was wrong. It basically makes the GPU unusable, so we do need to
> fix it somehow. The simple solution would be to revert it in 4.6 only.
> The more complicated solution is to backport the proper fix, which more
> or less requires the following set of commits [1], which is maybe a bit
> too much for stable. I could try to trim it a bit perhaps, but then we
> start to enter the territory of untested code which I don't particularly
> like. Let me know what you think.
> 
> [1]
>  1e1cace942ef ("drm/i915: Eliminate loop from VLV irq handler")
>  a5e485a95c9c ("drm/i915: Clear VLV_IER around irq processing")
>  4a0a0202b023 ("drm/i915: Clear VLV_MASTER_IER around irq processing")
>  7ce4d1f2730f ("drm/i915: Clear VLV_IIR after PIPESTAT")
>  34c7b8a7b8b5 ("drm/i915: Set up VLV_MASTER_IER consistently")
>  e5328c43d46e ("drm/i915: Use GEN8_MASTER_IRQ_CONTROL consistently")
>  71b8b41d5b35 ("drm/i915: Move DPINVGTT setup to vlv_display_irq_reset()")
>  6b7eafc1b43d ("drm/i915: Warn if irq_mask isn't ~0 during vlv/cvh display irq postinstall")
>  9ab981f22bef ("drm/i915: Use GEN5_IRQ_INIT() in vlv_display_irq_postinstall()")
>  d6c698035892 ("drm/i915: Clear display interrupt before enabling when turning on the power well")
>  8bb613068a63 ("drm/i915: Move vlv/chv display irq code to a more logical place")
>  9918271efc7a ("drm/i915: Skip display irq setup if display irqs aren't flagged as enabled")
>  ad22d10654ea ("drm/i915: Fix up vlv/chv display irq setup")
>  93de68f94081 ("drm/i915: Remove "VLV magic" from irq setup")

I think reverting that one patch for 4.6 makes more sense than adding
all of these patches.  I'll do that if you want me to.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: drm/i915 4.5/4.6 stable backport request for CHV
  2016-06-04 21:06   ` Greg KH
@ 2016-06-06  9:32     ` Ville Syrjälä
  -1 siblings, 0 replies; 14+ messages in thread
From: Ville Syrjälä @ 2016-06-06  9:32 UTC (permalink / raw)
  To: Greg KH; +Cc: intel-gfx, stable

On Sat, Jun 04, 2016 at 02:06:58PM -0700, Greg KH wrote:
> On Fri, May 27, 2016 at 11:30:30AM +0300, ville.syrjala@linux.intel.com wrote:
> > From: Ville Syrj�l� <ville.syrjala@linux.intel.com>
> > 
> > Several nasty i915 regressions affecting CHV slipped through
> > to 4.5 and 4.6.
> > 
> > The first fix we want in 4.5 and 4.6 is
> > commit caed361d83b2 ("drm/i915: Fix watermarks for VLV/CHV")
> > It won't cherry-pick cleanly to either one, so I've included conflict
> > free versions for both. This one fixes display FIFO underruns that can
> > lead to the screen totally blanking out.
> 
> Now applied, thanks.
> 
> > The other one I'd like to have in 4.6 is
> > commit 9f6151c90390 ("drm/i915: Pass the correct crtc state to .update_plane()")
> > which avoids a totally corrupted display in some cases.
> 
> Now applied.
> 
> > And the third on is a bit more annoying. The regression is caused by
> > commit 9dbaab56ac09 ("drm/i915: Exit cherryview_irq_handler() after one pass")
> > which I though we had prevented from getting out on its own, but turns
> > out I was wrong. It basically makes the GPU unusable, so we do need to
> > fix it somehow. The simple solution would be to revert it in 4.6 only.
> > The more complicated solution is to backport the proper fix, which more
> > or less requires the following set of commits [1], which is maybe a bit
> > too much for stable. I could try to trim it a bit perhaps, but then we
> > start to enter the territory of untested code which I don't particularly
> > like. Let me know what you think.
> > 
> > [1]
> >  1e1cace942ef ("drm/i915: Eliminate loop from VLV irq handler")
> >  a5e485a95c9c ("drm/i915: Clear VLV_IER around irq processing")
> >  4a0a0202b023 ("drm/i915: Clear VLV_MASTER_IER around irq processing")
> >  7ce4d1f2730f ("drm/i915: Clear VLV_IIR after PIPESTAT")
> >  34c7b8a7b8b5 ("drm/i915: Set up VLV_MASTER_IER consistently")
> >  e5328c43d46e ("drm/i915: Use GEN8_MASTER_IRQ_CONTROL consistently")
> >  71b8b41d5b35 ("drm/i915: Move DPINVGTT setup to vlv_display_irq_reset()")
> >  6b7eafc1b43d ("drm/i915: Warn if irq_mask isn't ~0 during vlv/cvh display irq postinstall")
> >  9ab981f22bef ("drm/i915: Use GEN5_IRQ_INIT() in vlv_display_irq_postinstall()")
> >  d6c698035892 ("drm/i915: Clear display interrupt before enabling when turning on the power well")
> >  8bb613068a63 ("drm/i915: Move vlv/chv display irq code to a more logical place")
> >  9918271efc7a ("drm/i915: Skip display irq setup if display irqs aren't flagged as enabled")
> >  ad22d10654ea ("drm/i915: Fix up vlv/chv display irq setup")
> >  93de68f94081 ("drm/i915: Remove "VLV magic" from irq setup")
> 
> I think reverting that one patch for 4.6 makes more sense than adding
> all of these patches.  I'll do that if you want me to.

That works for me. Thanks.

-- 
Ville Syrj�l�
Intel OTC

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: drm/i915 4.5/4.6 stable backport request for CHV
@ 2016-06-06  9:32     ` Ville Syrjälä
  0 siblings, 0 replies; 14+ messages in thread
From: Ville Syrjälä @ 2016-06-06  9:32 UTC (permalink / raw)
  To: Greg KH; +Cc: intel-gfx, stable

On Sat, Jun 04, 2016 at 02:06:58PM -0700, Greg KH wrote:
> On Fri, May 27, 2016 at 11:30:30AM +0300, ville.syrjala@linux.intel.com wrote:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > 
> > Several nasty i915 regressions affecting CHV slipped through
> > to 4.5 and 4.6.
> > 
> > The first fix we want in 4.5 and 4.6 is
> > commit caed361d83b2 ("drm/i915: Fix watermarks for VLV/CHV")
> > It won't cherry-pick cleanly to either one, so I've included conflict
> > free versions for both. This one fixes display FIFO underruns that can
> > lead to the screen totally blanking out.
> 
> Now applied, thanks.
> 
> > The other one I'd like to have in 4.6 is
> > commit 9f6151c90390 ("drm/i915: Pass the correct crtc state to .update_plane()")
> > which avoids a totally corrupted display in some cases.
> 
> Now applied.
> 
> > And the third on is a bit more annoying. The regression is caused by
> > commit 9dbaab56ac09 ("drm/i915: Exit cherryview_irq_handler() after one pass")
> > which I though we had prevented from getting out on its own, but turns
> > out I was wrong. It basically makes the GPU unusable, so we do need to
> > fix it somehow. The simple solution would be to revert it in 4.6 only.
> > The more complicated solution is to backport the proper fix, which more
> > or less requires the following set of commits [1], which is maybe a bit
> > too much for stable. I could try to trim it a bit perhaps, but then we
> > start to enter the territory of untested code which I don't particularly
> > like. Let me know what you think.
> > 
> > [1]
> >  1e1cace942ef ("drm/i915: Eliminate loop from VLV irq handler")
> >  a5e485a95c9c ("drm/i915: Clear VLV_IER around irq processing")
> >  4a0a0202b023 ("drm/i915: Clear VLV_MASTER_IER around irq processing")
> >  7ce4d1f2730f ("drm/i915: Clear VLV_IIR after PIPESTAT")
> >  34c7b8a7b8b5 ("drm/i915: Set up VLV_MASTER_IER consistently")
> >  e5328c43d46e ("drm/i915: Use GEN8_MASTER_IRQ_CONTROL consistently")
> >  71b8b41d5b35 ("drm/i915: Move DPINVGTT setup to vlv_display_irq_reset()")
> >  6b7eafc1b43d ("drm/i915: Warn if irq_mask isn't ~0 during vlv/cvh display irq postinstall")
> >  9ab981f22bef ("drm/i915: Use GEN5_IRQ_INIT() in vlv_display_irq_postinstall()")
> >  d6c698035892 ("drm/i915: Clear display interrupt before enabling when turning on the power well")
> >  8bb613068a63 ("drm/i915: Move vlv/chv display irq code to a more logical place")
> >  9918271efc7a ("drm/i915: Skip display irq setup if display irqs aren't flagged as enabled")
> >  ad22d10654ea ("drm/i915: Fix up vlv/chv display irq setup")
> >  93de68f94081 ("drm/i915: Remove "VLV magic" from irq setup")
> 
> I think reverting that one patch for 4.6 makes more sense than adding
> all of these patches.  I'll do that if you want me to.

That works for me. Thanks.

-- 
Ville Syrjälä
Intel OTC

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Intel-gfx] drm/i915 4.5/4.6 stable backport request for CHV
  2016-06-06  9:32     ` Ville Syrjälä
@ 2016-06-22 13:55       ` Daniel Vetter
  -1 siblings, 0 replies; 14+ messages in thread
From: Daniel Vetter @ 2016-06-22 13:55 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: Greg KH, intel-gfx, stable

On Mon, Jun 6, 2016 at 11:32 AM, Ville Syrjälä
<ville.syrjala@linux.intel.com> wrote:
> On Sat, Jun 04, 2016 at 02:06:58PM -0700, Greg KH wrote:
>> On Fri, May 27, 2016 at 11:30:30AM +0300, ville.syrjala@linux.intel.com wrote:
>> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> >
>> > Several nasty i915 regressions affecting CHV slipped through
>> > to 4.5 and 4.6.
>> >
>> > The first fix we want in 4.5 and 4.6 is
>> > commit caed361d83b2 ("drm/i915: Fix watermarks for VLV/CHV")
>> > It won't cherry-pick cleanly to either one, so I've included conflict
>> > free versions for both. This one fixes display FIFO underruns that can
>> > lead to the screen totally blanking out.
>>
>> Now applied, thanks.
>>
>> > The other one I'd like to have in 4.6 is
>> > commit 9f6151c90390 ("drm/i915: Pass the correct crtc state to .update_plane()")
>> > which avoids a totally corrupted display in some cases.
>>
>> Now applied.
>>
>> > And the third on is a bit more annoying. The regression is caused by
>> > commit 9dbaab56ac09 ("drm/i915: Exit cherryview_irq_handler() after one pass")
>> > which I though we had prevented from getting out on its own, but turns
>> > out I was wrong. It basically makes the GPU unusable, so we do need to
>> > fix it somehow. The simple solution would be to revert it in 4.6 only.
>> > The more complicated solution is to backport the proper fix, which more
>> > or less requires the following set of commits [1], which is maybe a bit
>> > too much for stable. I could try to trim it a bit perhaps, but then we
>> > start to enter the territory of untested code which I don't particularly
>> > like. Let me know what you think.
>> >
>> > [1]
>> >  1e1cace942ef ("drm/i915: Eliminate loop from VLV irq handler")
>> >  a5e485a95c9c ("drm/i915: Clear VLV_IER around irq processing")
>> >  4a0a0202b023 ("drm/i915: Clear VLV_MASTER_IER around irq processing")
>> >  7ce4d1f2730f ("drm/i915: Clear VLV_IIR after PIPESTAT")
>> >  34c7b8a7b8b5 ("drm/i915: Set up VLV_MASTER_IER consistently")
>> >  e5328c43d46e ("drm/i915: Use GEN8_MASTER_IRQ_CONTROL consistently")
>> >  71b8b41d5b35 ("drm/i915: Move DPINVGTT setup to vlv_display_irq_reset()")
>> >  6b7eafc1b43d ("drm/i915: Warn if irq_mask isn't ~0 during vlv/cvh display irq postinstall")
>> >  9ab981f22bef ("drm/i915: Use GEN5_IRQ_INIT() in vlv_display_irq_postinstall()")
>> >  d6c698035892 ("drm/i915: Clear display interrupt before enabling when turning on the power well")
>> >  8bb613068a63 ("drm/i915: Move vlv/chv display irq code to a more logical place")
>> >  9918271efc7a ("drm/i915: Skip display irq setup if display irqs aren't flagged as enabled")
>> >  ad22d10654ea ("drm/i915: Fix up vlv/chv display irq setup")
>> >  93de68f94081 ("drm/i915: Remove "VLV magic" from irq setup")
>>
>> I think reverting that one patch for 4.6 makes more sense than adding
>> all of these patches.  I'll do that if you want me to.
>
> That works for me. Thanks.

Has this happened? I just got a ping on irc that braswell in 4.6 is
still entirely toasted :(
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: drm/i915 4.5/4.6 stable backport request for CHV
@ 2016-06-22 13:55       ` Daniel Vetter
  0 siblings, 0 replies; 14+ messages in thread
From: Daniel Vetter @ 2016-06-22 13:55 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: Greg KH, intel-gfx, stable

On Mon, Jun 6, 2016 at 11:32 AM, Ville Syrjälä
<ville.syrjala@linux.intel.com> wrote:
> On Sat, Jun 04, 2016 at 02:06:58PM -0700, Greg KH wrote:
>> On Fri, May 27, 2016 at 11:30:30AM +0300, ville.syrjala@linux.intel.com wrote:
>> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> >
>> > Several nasty i915 regressions affecting CHV slipped through
>> > to 4.5 and 4.6.
>> >
>> > The first fix we want in 4.5 and 4.6 is
>> > commit caed361d83b2 ("drm/i915: Fix watermarks for VLV/CHV")
>> > It won't cherry-pick cleanly to either one, so I've included conflict
>> > free versions for both. This one fixes display FIFO underruns that can
>> > lead to the screen totally blanking out.
>>
>> Now applied, thanks.
>>
>> > The other one I'd like to have in 4.6 is
>> > commit 9f6151c90390 ("drm/i915: Pass the correct crtc state to .update_plane()")
>> > which avoids a totally corrupted display in some cases.
>>
>> Now applied.
>>
>> > And the third on is a bit more annoying. The regression is caused by
>> > commit 9dbaab56ac09 ("drm/i915: Exit cherryview_irq_handler() after one pass")
>> > which I though we had prevented from getting out on its own, but turns
>> > out I was wrong. It basically makes the GPU unusable, so we do need to
>> > fix it somehow. The simple solution would be to revert it in 4.6 only.
>> > The more complicated solution is to backport the proper fix, which more
>> > or less requires the following set of commits [1], which is maybe a bit
>> > too much for stable. I could try to trim it a bit perhaps, but then we
>> > start to enter the territory of untested code which I don't particularly
>> > like. Let me know what you think.
>> >
>> > [1]
>> >  1e1cace942ef ("drm/i915: Eliminate loop from VLV irq handler")
>> >  a5e485a95c9c ("drm/i915: Clear VLV_IER around irq processing")
>> >  4a0a0202b023 ("drm/i915: Clear VLV_MASTER_IER around irq processing")
>> >  7ce4d1f2730f ("drm/i915: Clear VLV_IIR after PIPESTAT")
>> >  34c7b8a7b8b5 ("drm/i915: Set up VLV_MASTER_IER consistently")
>> >  e5328c43d46e ("drm/i915: Use GEN8_MASTER_IRQ_CONTROL consistently")
>> >  71b8b41d5b35 ("drm/i915: Move DPINVGTT setup to vlv_display_irq_reset()")
>> >  6b7eafc1b43d ("drm/i915: Warn if irq_mask isn't ~0 during vlv/cvh display irq postinstall")
>> >  9ab981f22bef ("drm/i915: Use GEN5_IRQ_INIT() in vlv_display_irq_postinstall()")
>> >  d6c698035892 ("drm/i915: Clear display interrupt before enabling when turning on the power well")
>> >  8bb613068a63 ("drm/i915: Move vlv/chv display irq code to a more logical place")
>> >  9918271efc7a ("drm/i915: Skip display irq setup if display irqs aren't flagged as enabled")
>> >  ad22d10654ea ("drm/i915: Fix up vlv/chv display irq setup")
>> >  93de68f94081 ("drm/i915: Remove "VLV magic" from irq setup")
>>
>> I think reverting that one patch for 4.6 makes more sense than adding
>> all of these patches.  I'll do that if you want me to.
>
> That works for me. Thanks.

Has this happened? I just got a ping on irc that braswell in 4.6 is
still entirely toasted :(
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: drm/i915 4.5/4.6 stable backport request for CHV
  2016-06-06  9:32     ` Ville Syrjälä
  (?)
  (?)
@ 2016-06-22 13:55     ` Peter Frühberger
  -1 siblings, 0 replies; 14+ messages in thread
From: Peter Frühberger @ 2016-06-22 13:55 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: Greg KH, intel-gfx, stable


[-- Attachment #1.1: Type: text/plain, Size: 3499 bytes --]

Hi guys,

2016-06-06 11:32 GMT+02:00 Ville Syrjälä <ville.syrjala@linux.intel.com>:

> On Sat, Jun 04, 2016 at 02:06:58PM -0700, Greg KH wrote:
> > On Fri, May 27, 2016 at 11:30:30AM +0300, ville.syrjala@linux.intel.com
> wrote:
> > > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > >
> > > Several nasty i915 regressions affecting CHV slipped through
> > > to 4.5 and 4.6.
> > >
> > > The first fix we want in 4.5 and 4.6 is
> > > commit caed361d83b2 ("drm/i915: Fix watermarks for VLV/CHV")
> > > It won't cherry-pick cleanly to either one, so I've included conflict
> > > free versions for both. This one fixes display FIFO underruns that can
> > > lead to the screen totally blanking out.
> >
> > Now applied, thanks.
> >
> > > The other one I'd like to have in 4.6 is
> > > commit 9f6151c90390 ("drm/i915: Pass the correct crtc state to
> .update_plane()")
> > > which avoids a totally corrupted display in some cases.
> >
> > Now applied.
> >
> > > And the third on is a bit more annoying. The regression is caused by
> > > commit 9dbaab56ac09 ("drm/i915: Exit cherryview_irq_handler() after
> one pass")
> > > which I though we had prevented from getting out on its own, but turns
> > > out I was wrong. It basically makes the GPU unusable, so we do need to
> > > fix it somehow. The simple solution would be to revert it in 4.6 only.
> > > The more complicated solution is to backport the proper fix, which more
> > > or less requires the following set of commits [1], which is maybe a bit
> > > too much for stable. I could try to trim it a bit perhaps, but then we
> > > start to enter the territory of untested code which I don't
> particularly
> > > like. Let me know what you think.
> > >
> > > [1]
> > >  1e1cace942ef ("drm/i915: Eliminate loop from VLV irq handler")
> > >  a5e485a95c9c ("drm/i915: Clear VLV_IER around irq processing")
> > >  4a0a0202b023 ("drm/i915: Clear VLV_MASTER_IER around irq processing")
> > >  7ce4d1f2730f ("drm/i915: Clear VLV_IIR after PIPESTAT")
> > >  34c7b8a7b8b5 ("drm/i915: Set up VLV_MASTER_IER consistently")
> > >  e5328c43d46e ("drm/i915: Use GEN8_MASTER_IRQ_CONTROL consistently")
> > >  71b8b41d5b35 ("drm/i915: Move DPINVGTT setup to
> vlv_display_irq_reset()")
> > >  6b7eafc1b43d ("drm/i915: Warn if irq_mask isn't ~0 during vlv/cvh
> display irq postinstall")
> > >  9ab981f22bef ("drm/i915: Use GEN5_IRQ_INIT() in
> vlv_display_irq_postinstall()")
> > >  d6c698035892 ("drm/i915: Clear display interrupt before enabling when
> turning on the power well")
> > >  8bb613068a63 ("drm/i915: Move vlv/chv display irq code to a more
> logical place")
> > >  9918271efc7a ("drm/i915: Skip display irq setup if display irqs
> aren't flagged as enabled")
> > >  ad22d10654ea ("drm/i915: Fix up vlv/chv display irq setup")
> > >  93de68f94081 ("drm/i915: Remove "VLV magic" from irq setup")
> >
> > I think reverting that one patch for 4.6 makes more sense than adding
> > all of these patches.  I'll do that if you want me to.
>
> That works for me. Thanks.
>
> --
> Ville Syrjälä
> Intel OTC


Sorry for bothering you. Will the revert make it into 4.6.3? Without it BSW
on 4.6 is not really usable.

Thanks much in advance
Peter



-- 
                   Key-ID:     0x1A995A9B
                   keyserver: pgp.mit.edu
==============================================================
Fingerprint: 4606 DA19 EC2E 9A0B 0157  C81B DA07 CF63 1A99 5A9B

[-- Attachment #1.2: Type: text/html, Size: 4777 bytes --]

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Intel-gfx] drm/i915 4.5/4.6 stable backport request for CHV
  2016-06-22 13:55       ` Daniel Vetter
@ 2016-06-22 22:26         ` Greg KH
  -1 siblings, 0 replies; 14+ messages in thread
From: Greg KH @ 2016-06-22 22:26 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: Ville Syrjälä, intel-gfx, stable

On Wed, Jun 22, 2016 at 03:55:03PM +0200, Daniel Vetter wrote:
> On Mon, Jun 6, 2016 at 11:32 AM, Ville Syrj�l�
> <ville.syrjala@linux.intel.com> wrote:
> > On Sat, Jun 04, 2016 at 02:06:58PM -0700, Greg KH wrote:
> >> On Fri, May 27, 2016 at 11:30:30AM +0300, ville.syrjala@linux.intel.com wrote:
> >> > From: Ville Syrj�l� <ville.syrjala@linux.intel.com>
> >> >
> >> > Several nasty i915 regressions affecting CHV slipped through
> >> > to 4.5 and 4.6.
> >> >
> >> > The first fix we want in 4.5 and 4.6 is
> >> > commit caed361d83b2 ("drm/i915: Fix watermarks for VLV/CHV")
> >> > It won't cherry-pick cleanly to either one, so I've included conflict
> >> > free versions for both. This one fixes display FIFO underruns that can
> >> > lead to the screen totally blanking out.
> >>
> >> Now applied, thanks.
> >>
> >> > The other one I'd like to have in 4.6 is
> >> > commit 9f6151c90390 ("drm/i915: Pass the correct crtc state to .update_plane()")
> >> > which avoids a totally corrupted display in some cases.
> >>
> >> Now applied.
> >>
> >> > And the third on is a bit more annoying. The regression is caused by
> >> > commit 9dbaab56ac09 ("drm/i915: Exit cherryview_irq_handler() after one pass")
> >> > which I though we had prevented from getting out on its own, but turns
> >> > out I was wrong. It basically makes the GPU unusable, so we do need to
> >> > fix it somehow. The simple solution would be to revert it in 4.6 only.
> >> > The more complicated solution is to backport the proper fix, which more
> >> > or less requires the following set of commits [1], which is maybe a bit
> >> > too much for stable. I could try to trim it a bit perhaps, but then we
> >> > start to enter the territory of untested code which I don't particularly
> >> > like. Let me know what you think.
> >> >
> >> > [1]
> >> >  1e1cace942ef ("drm/i915: Eliminate loop from VLV irq handler")
> >> >  a5e485a95c9c ("drm/i915: Clear VLV_IER around irq processing")
> >> >  4a0a0202b023 ("drm/i915: Clear VLV_MASTER_IER around irq processing")
> >> >  7ce4d1f2730f ("drm/i915: Clear VLV_IIR after PIPESTAT")
> >> >  34c7b8a7b8b5 ("drm/i915: Set up VLV_MASTER_IER consistently")
> >> >  e5328c43d46e ("drm/i915: Use GEN8_MASTER_IRQ_CONTROL consistently")
> >> >  71b8b41d5b35 ("drm/i915: Move DPINVGTT setup to vlv_display_irq_reset()")
> >> >  6b7eafc1b43d ("drm/i915: Warn if irq_mask isn't ~0 during vlv/cvh display irq postinstall")
> >> >  9ab981f22bef ("drm/i915: Use GEN5_IRQ_INIT() in vlv_display_irq_postinstall()")
> >> >  d6c698035892 ("drm/i915: Clear display interrupt before enabling when turning on the power well")
> >> >  8bb613068a63 ("drm/i915: Move vlv/chv display irq code to a more logical place")
> >> >  9918271efc7a ("drm/i915: Skip display irq setup if display irqs aren't flagged as enabled")
> >> >  ad22d10654ea ("drm/i915: Fix up vlv/chv display irq setup")
> >> >  93de68f94081 ("drm/i915: Remove "VLV magic" from irq setup")
> >>
> >> I think reverting that one patch for 4.6 makes more sense than adding
> >> all of these patches.  I'll do that if you want me to.
> >
> > That works for me. Thanks.
> 
> Has this happened? I just got a ping on irc that braswell in 4.6 is
> still entirely toasted :(

Sorry for the delay, revert is now queued up.

greg k-h

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: drm/i915 4.5/4.6 stable backport request for CHV
@ 2016-06-22 22:26         ` Greg KH
  0 siblings, 0 replies; 14+ messages in thread
From: Greg KH @ 2016-06-22 22:26 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: intel-gfx, stable

On Wed, Jun 22, 2016 at 03:55:03PM +0200, Daniel Vetter wrote:
> On Mon, Jun 6, 2016 at 11:32 AM, Ville Syrjälä
> <ville.syrjala@linux.intel.com> wrote:
> > On Sat, Jun 04, 2016 at 02:06:58PM -0700, Greg KH wrote:
> >> On Fri, May 27, 2016 at 11:30:30AM +0300, ville.syrjala@linux.intel.com wrote:
> >> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >> >
> >> > Several nasty i915 regressions affecting CHV slipped through
> >> > to 4.5 and 4.6.
> >> >
> >> > The first fix we want in 4.5 and 4.6 is
> >> > commit caed361d83b2 ("drm/i915: Fix watermarks for VLV/CHV")
> >> > It won't cherry-pick cleanly to either one, so I've included conflict
> >> > free versions for both. This one fixes display FIFO underruns that can
> >> > lead to the screen totally blanking out.
> >>
> >> Now applied, thanks.
> >>
> >> > The other one I'd like to have in 4.6 is
> >> > commit 9f6151c90390 ("drm/i915: Pass the correct crtc state to .update_plane()")
> >> > which avoids a totally corrupted display in some cases.
> >>
> >> Now applied.
> >>
> >> > And the third on is a bit more annoying. The regression is caused by
> >> > commit 9dbaab56ac09 ("drm/i915: Exit cherryview_irq_handler() after one pass")
> >> > which I though we had prevented from getting out on its own, but turns
> >> > out I was wrong. It basically makes the GPU unusable, so we do need to
> >> > fix it somehow. The simple solution would be to revert it in 4.6 only.
> >> > The more complicated solution is to backport the proper fix, which more
> >> > or less requires the following set of commits [1], which is maybe a bit
> >> > too much for stable. I could try to trim it a bit perhaps, but then we
> >> > start to enter the territory of untested code which I don't particularly
> >> > like. Let me know what you think.
> >> >
> >> > [1]
> >> >  1e1cace942ef ("drm/i915: Eliminate loop from VLV irq handler")
> >> >  a5e485a95c9c ("drm/i915: Clear VLV_IER around irq processing")
> >> >  4a0a0202b023 ("drm/i915: Clear VLV_MASTER_IER around irq processing")
> >> >  7ce4d1f2730f ("drm/i915: Clear VLV_IIR after PIPESTAT")
> >> >  34c7b8a7b8b5 ("drm/i915: Set up VLV_MASTER_IER consistently")
> >> >  e5328c43d46e ("drm/i915: Use GEN8_MASTER_IRQ_CONTROL consistently")
> >> >  71b8b41d5b35 ("drm/i915: Move DPINVGTT setup to vlv_display_irq_reset()")
> >> >  6b7eafc1b43d ("drm/i915: Warn if irq_mask isn't ~0 during vlv/cvh display irq postinstall")
> >> >  9ab981f22bef ("drm/i915: Use GEN5_IRQ_INIT() in vlv_display_irq_postinstall()")
> >> >  d6c698035892 ("drm/i915: Clear display interrupt before enabling when turning on the power well")
> >> >  8bb613068a63 ("drm/i915: Move vlv/chv display irq code to a more logical place")
> >> >  9918271efc7a ("drm/i915: Skip display irq setup if display irqs aren't flagged as enabled")
> >> >  ad22d10654ea ("drm/i915: Fix up vlv/chv display irq setup")
> >> >  93de68f94081 ("drm/i915: Remove "VLV magic" from irq setup")
> >>
> >> I think reverting that one patch for 4.6 makes more sense than adding
> >> all of these patches.  I'll do that if you want me to.
> >
> > That works for me. Thanks.
> 
> Has this happened? I just got a ping on irc that braswell in 4.6 is
> still entirely toasted :(

Sorry for the delay, revert is now queued up.

greg k-h
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2016-06-22 22:26 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-27  8:30 drm/i915 4.5/4.6 stable backport request for CHV ville.syrjala
2016-05-27  8:30 ` [PATCH for v4.5] drm/i915: Fix watermarks for VLV/CHV ville.syrjala
2016-05-27  8:30 ` [PATCH for v4.6] " ville.syrjala
2016-05-27  8:30   ` ville.syrjala
2016-05-27  8:32 ` ✗ Ro.CI.BAT: failure for " Patchwork
2016-06-04 21:06 ` drm/i915 4.5/4.6 stable backport request for CHV Greg KH
2016-06-04 21:06   ` Greg KH
2016-06-06  9:32   ` Ville Syrjälä
2016-06-06  9:32     ` Ville Syrjälä
2016-06-22 13:55     ` [Intel-gfx] " Daniel Vetter
2016-06-22 13:55       ` Daniel Vetter
2016-06-22 22:26       ` [Intel-gfx] " Greg KH
2016-06-22 22:26         ` Greg KH
2016-06-22 13:55     ` Peter Frühberger

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.