This is a partial of [1], only with patches related to individual colorop update tracking. I.e., I'm detaching from here fixes regarding attempts of changing colorops that are not part of an active color pipeline, or in the transition between active and inactive color pipelines.
This series focus on tracking updates for each individual color operation, allowing the driver to react accordingly. This new version just adds r-b and Fixes tag accordingly. During the Display Next Hackfest we also agree that it should be applied to drm-misc-fixes and it can be backported by AMD after. - Patches 1 and 2 make lut1d_interpolation and lut3d_interpolation colorops correctly behave as mutable, handling their changes via drm_colorop_state. - Patches 3 and 4 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, but doesn't consider as a change when the same color pipeline value is set to the plane COLOR_PIPELINE prop. That way, the driver can react accordingly and update their color blocks. As interpolation properties become mutable, they are also tracked here. 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 [1] v6: https://lore.kernel.org/dri-devel/[email protected]/ Changes: - detach patches that implement individual tracking from those related to inactive colorop updates. v7: https://lore.kernel.org/dri-devel/[email protected]/ Changes: - add Fixes and r-b tags Alex Hung (1): drm/colorop: Remove read-only comments from interpolation fields Melissa Wen (3): drm/colorop: make lut(1/3)d_interpolation props correctly behave as 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 | 4 +- drivers/gpu/drm/drm_atomic_uapi.c | 68 +++++++++++++++---- drivers/gpu/drm/drm_colorop.c | 16 ++++- include/drm/drm_atomic_uapi.h | 4 +- include/drm/drm_colorop.h | 34 +++++----- 6 files changed, 93 insertions(+), 39 deletions(-) -- 2.53.0
