This series aims to track updates for each individual color operation, allowing the driver to react accordingly.
- Patches 1 and 2 make colorop update process more consistent and optimized by only keeping colorop states from active color pipelines. Due to ordering dependency, attempts to update inactive colorops are not rejected at property setting time, but only later during atomic check. - Patches 3 and 4 make lut1d_interpolation and lut3d_interpolation colorops correctly behave as mutable, handling their changes via drm_colorop_state. - Finally, patches 5 and 6 track colorop updates of a given plane color pipeline by setting plane `color_mgmt_changed` flag, similar to what is done for tracking CRTC color mgmt property changes with CRTC `color_mgmt_changed` flag. The flag also tracks when a different color pipeline is set to a given plane. That way, the driver can react accordingly and update their color blocks. It also fixes shaper/3D LUT updates when changing night mode settings on gamescope with a custom branch that supports `COLOR_PIPELINE`: - https://github.com/ValveSoftware/gamescope/pull/2113 v1: https://lore.kernel.org/dri-devel/[email protected]/ Changes: - include linux types for function's bool return type (kernel bot on MSM driver) - add Harry's r-b tags v2: https://lore.kernel.org/dri-devel/[email protected]/ Changes: - [NEW] two patches to only consider colorop updates from active color pipelines (Chaitanya) - [NEW] make lut interpolation properties mutable + Alex H patch for kernel docs - track lut(1/3)d_interpolation updates (Chaitanya) - rebase changes according to new patches v3: https://lore.kernel.org/dri-devel/[email protected]/ Changes: rebase on drm-misc-next v4: https://lore.kernel.org/dri-devel/[email protected]/ Changes: fix kernel doc (kernel bot) v5: https://lore.kernel.org/dri-devel/[email protected]/ Changes: - rebase on drm-misc-next - fix kernel-doc and correctly reword (atomic) state to plane_state (Chaitanya) - reject inactive colorop updates in atomic check time, instead of during property's setup, to avoid ordering dependency as pointed out by Chaitanya - use `|= replaced` for consistency (Chaitanya) - add Chaitanya's r-b tags to patches 1,3-5 Melissa Wen Alex Hung (1): drm/colorop: Remove read-only comments from interpolation fields Melissa Wen (5): drm/atomic: only add colorop state from active color pipeline drm/atomic: reject colorop update from inactive color pipeline drm/colorop: make lut(1/3)d_interpolation mutable drm/atomic: track individual colorop updates drm/amd/display: use plane color_mgmt_changed to track colorop changes .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 6 +- drivers/gpu/drm/drm_atomic.c | 82 ++++++++++++++----- drivers/gpu/drm/drm_atomic_helper.c | 9 +- drivers/gpu/drm/drm_atomic_uapi.c | 68 +++++++++++---- drivers/gpu/drm/drm_colorop.c | 16 +++- include/drm/drm_atomic.h | 2 +- include/drm/drm_atomic_uapi.h | 4 +- include/drm/drm_colorop.h | 34 ++++---- 8 files changed, 155 insertions(+), 66 deletions(-) -- 2.53.0
