]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/colorop: Preserve bypass value in duplicate_state()
authorChaitanya Kumar Borah <chaitanya.kumar.borah@intel.com>
Tue, 10 Mar 2026 11:32:37 +0000 (17:02 +0530)
committerSuraj Kandpal <suraj.kandpal@intel.com>
Mon, 16 Mar 2026 03:03:05 +0000 (08:33 +0530)
__drm_atomic_helper_colorop_duplicate_state() unconditionally
sets state->bypass = true after copying the existing state.

This override causes the new atomic state to no longer reflect
the currently committed hardware state. Since the bypass property
directly controls whether the colorop is active in hardware,
resetting it to true can inadvertently disable an active colorop
during a subsequent commit, particularly for internal driver commits
where userspace does not touch the property.

Drop the unconditional assignment and preserve the duplicated
bypass value.

Fixes: 8c5ea1745f4c ("drm/colorop: Add BYPASS property")
Cc: <stable@vger.kernel.org> #v6.19+
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
Signed-off-by: Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
Link: https://patch.msgid.link/20260310113238.3495981-2-chaitanya.kumar.borah@intel.com
drivers/gpu/drm/drm_colorop.c

index 647cf881f413d1880b88fee37176b4dded485c0f..566816e3c6f0c7d172534966fcfe56982e6505f3 100644 (file)
@@ -462,8 +462,6 @@ static void __drm_atomic_helper_colorop_duplicate_state(struct drm_colorop *colo
 
        if (state->data)
                drm_property_blob_get(state->data);
-
-       state->bypass = true;
 }
 
 struct drm_colorop_state *