public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
* [PATCH 0/3] drm/i915: HSW modeset hang fix
@ 2013-09-12 19:45 ville.syrjala
  2013-09-12 19:45 ` [PATCH 1/3] drm/i915: do not update cursor in crtc mode set ville.syrjala
                   ` (2 more replies)
  0 siblings, 3 replies; 22+ messages in thread
From: ville.syrjala @ 2013-09-12 19:45 UTC (permalink / raw)
  To: intel-gfx; +Cc: stable

As Paulo explained at [1], there's a modeset related hang occuring on HSW.
I bisected it down to removing a workaround meant for pre-production hardware,
and Paulo cooked up a workaround that worked for him. Unfortunately I was still 
able to trigger the hangs by disabling all planes on pipe B but leaving the pipe 
active, and the doing a modeset on pipe A.

The actual problem can occur when we enable any plane on a pipe that is not
fully running yet. When a pipe is considered running depends on a bit on the 
type of encoder used. But in any case we should not really be enabling planes
on disabled pipes anyway, so implementing an actual workaround should not
even be necessary. We just need to be careful when we enable planes.

For me it seems Jani already fixed the problem when he proposed killing the cursor
enable calls from the .mode_set hooks. So it looks like our normal plane enabling
during .crtc_enable happens late enough for the pipe to be fully up.

I actually want to refactor the plane enabling/disabling during our
.crtc_{enable,disable} a bit. But as that doesn't seem necessary to prevent the
hangs, I'm posting these minimal fixes first, and then we can go crazy later.

[1] http://lists.freedesktop.org/archives/intel-gfx/2013-September/033040.html

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

end of thread, other threads:[~2013-09-13 14:47 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-12 19:45 [PATCH 0/3] drm/i915: HSW modeset hang fix ville.syrjala
2013-09-12 19:45 ` [PATCH 1/3] drm/i915: do not update cursor in crtc mode set ville.syrjala
2013-09-12 20:09   ` Chris Wilson
2013-09-13  7:30     ` [Intel-gfx] " Ville Syrjälä
2013-09-13  8:03       ` [PATCH 1/2] drm/i915: add asserts for cursor disabled Jani Nikula
2013-09-13  8:03         ` [PATCH 2/2] drm/i915: clean up and simplify i9xx_crtc_mode_set wrt PLL handling Jani Nikula
2013-09-13 13:00           ` Daniel Vetter
2013-09-13 13:38             ` Jani Nikula
2013-09-13 14:07               ` Daniel Vetter
2013-09-13 14:47                 ` Ville Syrjälä
2013-09-13  8:48         ` [PATCH 1/2] drm/i915: add asserts for cursor disabled Chris Wilson
2013-09-13 11:57         ` Ville Syrjälä
2013-09-13 12:59           ` Daniel Vetter
2013-09-12 19:45 ` [PATCH 2/3] drm/i915: Don't enable the cursor on a disable pipe ville.syrjala
2013-09-12 20:08   ` Chris Wilson
2013-09-13  7:28     ` [Intel-gfx] " Ville Syrjälä
2013-09-12 19:45 ` [PATCH 3/3] drm/i915: Don't enable sprites on a disabled pipe ville.syrjala
2013-09-12 20:13   ` [Intel-gfx] " Chris Wilson
2013-09-13  7:40     ` Ville Syrjälä
2013-09-13  7:50       ` Ville Syrjälä
2013-09-13  7:54         ` Ville Syrjälä
2013-09-13  8:43           ` Chris Wilson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox