Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/atomic: Add affected colorops with affected planes

When drm_atomic_add_affected_planes() adds a plane to the atomic
state, the associated colorops are not guaranteed to be included.
This can leave colorop state out of the transaction when planes
are pulled in implicitly (eg. during modeset or internal commits).

Also add affected colorops when adding affected planes to keep
plane and color pipeline state consistent within the atomic
transaction.

v2: Add affected colorops only when a pipeline is enabled

Fixes: 2afc3184f3b3 ("drm/plane: Add COLOR PIPELINE property")
Cc: <stable@vger.kernel.org> #v6.19+
Reviewed-by: Uma Shankar <uma.shankar@intel.com> #v1
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-3-chaitanya.kumar.borah@intel.com

authored by

Chaitanya Kumar Borah and committed by
Suraj Kandpal
6955d6bc 0d9710ae

+7
+7
drivers/gpu/drm/drm_atomic.c
··· 1587 1587 const struct drm_crtc_state *old_crtc_state = 1588 1588 drm_atomic_get_old_crtc_state(state, crtc); 1589 1589 struct drm_plane *plane; 1590 + int ret; 1590 1591 1591 1592 WARN_ON(!drm_atomic_get_new_crtc_state(state, crtc)); 1592 1593 ··· 1601 1600 1602 1601 if (IS_ERR(plane_state)) 1603 1602 return PTR_ERR(plane_state); 1603 + 1604 + if (plane_state->color_pipeline) { 1605 + ret = drm_atomic_add_affected_colorops(state, plane); 1606 + if (ret) 1607 + return ret; 1608 + } 1604 1609 } 1605 1610 return 0; 1606 1611 }