Describe some expected behavior of the AMD DM color mgmt programming.

Signed-off-by: Melissa Wen <m...@igalia.com>
---
 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c 
b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
index 10a29d131424..b54ef1392895 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
@@ -428,12 +428,23 @@ int amdgpu_dm_update_crtc_color_mgmt(struct dm_crtc_state 
*crtc)
                stream->out_transfer_func->type = TF_TYPE_DISTRIBUTED_POINTS;
                stream->out_transfer_func->tf = TRANSFER_FUNCTION_SRGB;
 
+               /* Note: even if we pass has_rom as parameter here, we never
+                * actually use ROM because the color module only takes the ROM
+                * path if transfer_func->type == PREDEFINED.
+                *
+                * See more in mod_color_calculate_regamma_params()
+                */
                r = __set_legacy_tf(stream->out_transfer_func, regamma_lut,
                                    regamma_size, has_rom);
                if (r)
                        return r;
        } else if (has_regamma) {
-               /* If atomic regamma, CRTC RGM goes into RGM LUT. */
+               /* CRTC RGM goes into RGM LUT.
+                *
+                * Note: here there is no implicit sRGB regamma. We are using
+                * degamma calculation from color module to calculate the curve
+                * from a linear base.
+                */
                stream->out_transfer_func->type = TF_TYPE_DISTRIBUTED_POINTS;
                stream->out_transfer_func->tf = TRANSFER_FUNCTION_LINEAR;
 
-- 
2.35.1

Reply via email to