OSDN Git Service

drm/amd/display: Only use EETF when maxCL > max display
authorKrunoslav Kovac <Krunoslav.Kovac@amd.com>
Fri, 4 Oct 2019 17:49:03 +0000 (13:49 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 25 Oct 2019 20:50:09 +0000 (16:50 -0400)
[Why&How]
BT.2390 EETF is used for tone mapping/range reduction.
Say display is 0.1 - 500 nits.
The problematic case is when content is 0-400. We apply EETF because
0<0.1 so we need to reduce the range by 0.1.

In the commit, we ignore the bottom range. Most displays map 0 to min and
then have a ramp to 0.1, so sending 0.1 is actually >0.1.
Furthermode, HW that uses 3D LUT also assumes min=0.

Signed-off-by: Krunoslav Kovac <Krunoslav.Kovac@amd.com>
Reviewed-by: Aric Cyr <Aric.Cyr@amd.com>
Acked-by: Leo Li <sunpeng.li@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/modules/color/color_gamma.c

index 85dad35..1de4805 100644 (file)
@@ -959,11 +959,7 @@ static bool build_freesync_hdr(struct pwl_float_data_ex *rgb_regamma,
        if (fs_params->max_display < 100) // cap at 100 at the top
                max_display = dc_fixpt_from_int(100);
 
-       if (fs_params->min_content < fs_params->min_display)
-               use_eetf = true;
-       else
-               min_content = min_display;
-
+       // only max used, we don't adjust min luminance
        if (fs_params->max_content > fs_params->max_display)
                use_eetf = true;
        else