On Fri, Aug 7, 2026 at 8:08 AM Melissa Wen <[email protected]> wrote: > > This is a resubmission of d79716401a95 ("drm/amd/display: use plane > color_mgmt_changed to track colorop changes") whose change was reverted > by 0461ba9a7994 ("Merge tag 'amd-drm-next-7.3-2026-07-02' of > https://gitlab.freedesktop.org/agd5f/linux into drm-next") during a > merge conflict resolution. > > Original commit message: > > ``` > Ensure the driver tracks changes in any colorop property of a plane > color pipeline by using the same mechanism of CRTC color management and > update plane color blocks when any colorop property changes. It fixes an > issue observed on gamescope settings for night mode which is done via > shaper/3D-LUT updates. > ``` > > Fixes: 0461ba9a7994 ("Merge tag 'amd-drm-next-7.3-2026-07-02' of > https://gitlab.freedesktop.org/agd5f/linux into drm-next") > Signed-off-by: Melissa Wen <[email protected]> >
Acked-by: Alex Deucher <[email protected]> > --- > > Hey, > > I noticed this problem in the resolution of a merge conflict after > testing drm-misc-next on SteamDeck with KMS colorop API support and > verifying the issue of missing updates in nightlight-mode was back. > > Let me know what are the right steps to address it. > > Thanks, > > Melissa > > --- > drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > index 67b825cbb88f..d0e612371c8f 100644 > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > @@ -4202,7 +4202,7 @@ static void amdgpu_dm_commit_planes(struct > drm_atomic_commit *state, > continue; > > bundle->surface_updates[planes_count].surface = dc_plane; > - if (new_pcrtc_state->color_mgmt_changed) { > + if (new_pcrtc_state->color_mgmt_changed || > new_plane_state->color_mgmt_changed) { > bundle->surface_updates[planes_count].gamma = > &dc_plane->gamma_correction; > > bundle->surface_updates[planes_count].in_transfer_func = > &dc_plane->in_transfer_func; > > bundle->surface_updates[planes_count].gamut_remap_matrix = > &dc_plane->gamut_remap_matrix; > @@ -6012,6 +6012,10 @@ static bool should_reset_plane(struct > drm_atomic_commit *state, > if (new_crtc_state->color_mgmt_changed) > return true; > > + /* Plane color pipeline or its colorop changes. */ > + if (new_plane_state->color_mgmt_changed) > + return true; > + > /* > * On zpos change, planes need to be reordered by removing and > re-adding > * them one by one to the dc state, in order of descending zpos. > -- > 2.53.0 >
