Skip to contentSkip to conversation

Patch "drm/i915: Avoid stalling on pending flips for legacy cursor updates" has been added to the 4.5-stable tree

PATCH [email protected] 1 participant 1 message May 8, 2016

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

drm/i915: Avoid stalling on pending flips for legacy cursor updates

to the 4.5-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
drm-i915-avoid-stalling-on-pending-flips-for-legacy-cursor-updates.patch
and it can be found in the queue-4.5 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 7ac7d19f808697abe6658c64c96868f728273f9c Mon Sep 17 00:00:00 2001

From: Chris Wilson <[email protected]>
Date: Sun, 17 Apr 2016 20:42:46 +0100
Subject: drm/i915: Avoid stalling on pending flips for legacy cursor updates
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Chris Wilson <[email protected]>

commit 7ac7d19f808697abe6658c64c96868f728273f9c upstream.

The legacy cursor ioctl expects to be asynchronous with respect to other screen updates, in particular page flips. As X updates the cursor from a signal context, if the cursor blocks then it will stall both the input and output chains causing bad stuttering and horrible UX.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94980

Fixes 5008e874edd34 ("drm/i915: Make wait_for_flips interruptible.")
Cc Maarten Lankhorst <[email protected]>
Cc Ville Syrjälä <[email protected]>
Cc Daniel Vetter <[email protected]>
Cc Jani Nikula <[email protected]>
(cherry picked from commit acf4e84d6167317ff21be5c03e1ea76ea5783701)
---
 drivers/gpu/drm/i915/intel_display.c |    3 +++
 1 file changed, 3 insertions(+)
drivers/gpu/drm/i915/intel_display.c +3 -0
@@ -13429,6 +13429,9 @@ static int intel_atomic_prepare_commit(s
 	}
 
 	for_each_crtc_in_state(state, crtc, crtc_state, i) {
+		if (state->legacy_cursor_update)
+			continue;
+
 		ret = intel_crtc_wait_for_pending_flips(crtc);
 		if (ret)
 			return ret;

Patches currently in stable-queue which might be from [email protected] are

queue-4.5/drm-i915-avoid-stalling-on-pending-flips-for-legacy-cursor-updates.patch