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
>

Reply via email to