Skip to contentSkip to conversation

Patch "drm/atomic: Don't potentially reset color_mgmt_changed on successive property updates." has been added to the 4.7-stable tree

PATCH [email protected] 1 participant 1 message Sep 9, 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/atomic: Don't potentially reset color_mgmt_changed on successive property updates.

to the 4.7-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-atomic-don-t-potentially-reset-color_mgmt_changed-on-successive-property-updates.patch
and it can be found in the queue-4.7 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 add1fa75101263ab4d74240f93000998d4325624 Mon Sep 17 00:00:00 2001

From: Mario Kleiner <[email protected]>
Date: Sat, 27 Aug 2016 01:02:28 +0200
Subject: drm/atomic: Don't potentially reset color_mgmt_changed on successive property updates.

From: Mario Kleiner <[email protected]>

commit add1fa75101263ab4d74240f93000998d4325624 upstream.

Due to assigning the 'replaced' value instead of or'ing it, if drm_atomic_crtc_set_property() gets called multiple times, the last call will define the color_mgmt_changed flag, so a non-updating call to a property can reset the flag and prevent actual hw state updates required by preceding property updates.

---
 drivers/gpu/drm/drm_atomic.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
drivers/gpu/drm/drm_atomic.c +3 -3
@@ -465,7 +465,7 @@ int drm_atomic_crtc_set_property(struct
 					val,
 					-1,
 					&replaced);
-		state->color_mgmt_changed = replaced;
+		state->color_mgmt_changed |= replaced;
 		return ret;
 	} else if (property == config->ctm_property) {
 		ret = drm_atomic_replace_property_blob_from_id(crtc,
@@ -473,7 +473,7 @@ int drm_atomic_crtc_set_property(struct
 					val,
 					sizeof(struct drm_color_ctm),
 					&replaced);
-		state->color_mgmt_changed = replaced;
+		state->color_mgmt_changed |= replaced;
 		return ret;
 	} else if (property == config->gamma_lut_property) {
 		ret = drm_atomic_replace_property_blob_from_id(crtc,
@@ -481,7 +481,7 @@ int drm_atomic_crtc_set_property(struct
 					val,
 					-1,
 					&replaced);
-		state->color_mgmt_changed = replaced;
+		state->color_mgmt_changed |= replaced;
 		return ret;
 	} else if (crtc->funcs->atomic_set_property)
 		return crtc->funcs->atomic_set_property(crtc, state, property, val);

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

queue-4.7/drm-atomic-don-t-potentially-reset-color_mgmt_changed-on-successive-property-updates.patch