This version is just a rebase on top of `drm-misc-fixes` instead of
`drm-misc-next`. The entire set of fixes targets issues in commits that
are in the kernel v6.18, but the second patch conflicts with:
- 8e135a47d35 ("drm/colorop: Rename __drm_colorop_state_reset()")
- 5164f7e7ff8 ("drm: Rename struct drm_atomic_state to drm_atomic_commit")
- 0c44d8dc6df ("drm/atomic: prefer drm_printf_indent() over inline \t")
This series 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
v8: https://lore.kernel.org/dri-devel/[email protected]/
Changes:
- moving from `drm-misc-next` to `drm-misc-fixes`
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