As per previous code, copy shaper, 3d and blend settings from dc_plane
to surface_updates before commit.

Signed-off-by: Melissa Wen <m...@igalia.com>
---
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 4 +++-
 1 file changed, 3 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 0e3b6d414ec4..cdaaec1b2a3a 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -7987,11 +7987,13 @@ static void amdgpu_dm_commit_planes(struct 
drm_atomic_state *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;
                        bundle->surface_updates[planes_count].hdr_mult = 
dc_plane->hdr_mult;
+                       bundle->surface_updates[planes_count].func_shaper = 
dc_plane->in_shaper_func;
+                       bundle->surface_updates[planes_count].lut3d_func = 
dc_plane->lut3d_func;
                }
 
                amdgpu_dm_plane_fill_dc_scaling_info(dm->adev, new_plane_state,
-- 
2.39.2

Reply via email to