Skip to contentSkip to conversation

Patch "drm/i915: Move updating color management to before vblank evasion" has been added to the 4.10-stable tree

PATCH [email protected] 1 participant 1 message Apr 12, 2017

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: Move updating color management to before vblank evasion

to the 4.10-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-move-updating-color-management-to-before-vblank-evasion.patch
and it can be found in the queue-4.10 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 38230243ef316ac696956d75dc78a22e3aa789b9 Mon Sep 17 00:00:00 2001

From: Maarten Lankhorst <[email protected]>
Date: Tue, 28 Feb 2017 15:28:47 +0100
Subject: drm/i915: Move updating color management to before vblank evasion
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Maarten Lankhorst <[email protected]>

commit 38230243ef316ac696956d75dc78a22e3aa789b9 upstream.

This cannot be done reliably during vblank evasasion since the color management registers are not double buffered.

The original commit that moved it always during vblank evasion was wrong, so revert it to before vblank evasion again.

Fixes 20a34e78f0d7 ("drm/i915: Update color management during vblank evasion.")
(cherry picked from commit 567f0792a6ad11c0c2620944b8eeb777359fb85a)
---
 drivers/gpu/drm/i915/intel_display.c |   12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)
drivers/gpu/drm/i915/intel_display.c +7 -5
@@ -14895,17 +14895,19 @@ static void intel_begin_crtc_commit(stru
 		to_intel_atomic_state(old_crtc_state->state);
 	bool modeset = needs_modeset(crtc->state);
 
+	if (!modeset &&
+	    (intel_cstate->base.color_mgmt_changed ||
+	     intel_cstate->update_pipe)) {
+		intel_color_set_csc(crtc->state);
+		intel_color_load_luts(crtc->state);
+	}
+
 	/* Perform vblank evasion around commit operation */
 	intel_pipe_update_start(intel_crtc);
 
 	if (modeset)
 		goto out;
 
-	if (crtc->state->color_mgmt_changed || to_intel_crtc_state(crtc->state)->update_pipe) {
-		intel_color_set_csc(crtc->state);
-		intel_color_load_luts(crtc->state);
-	}
-
 	if (intel_cstate->update_pipe)
 		intel_update_pipe_config(intel_crtc, old_intel_cstate);
 	else if (INTEL_GEN(dev_priv) >= 9)

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

queue-4.10/drm-i915-nuke-debug-messages-from-the-pipe-update-critical-section.patch queue-4.10/drm-i915-move-updating-color-management-to-before-vblank-evasion.patch