]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/amd/display: Don't allow OLED to go down to fully off
authorMario Limonciello <mario.limonciello@amd.com>
Thu, 19 Jun 2025 14:29:13 +0000 (09:29 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 1 Aug 2025 08:51:23 +0000 (09:51 +0100)
[ Upstream commit 39d81457ad3417a98ac826161f9ca0e642677661 ]

[Why]
OLED panels can be fully off, but this behavior is unexpected.

[How]
Ensure that minimum luminance is at least 1.

Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4338
Reviewed-by: Alex Hung <alex.hung@amd.com>
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Ray Wu <ray.wu@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 51496c7737d06a74b599d0aa7974c3d5a4b1162e)
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index 87c2bc5f64a6ce09df6c767f3cdeee6002eb071a..f6d71bf7c89c204cd86d595e374b7eda9051b5c7 100644 (file)
@@ -3548,13 +3548,15 @@ static void update_connector_ext_caps(struct amdgpu_dm_connector *aconnector)
 
        luminance_range = &conn_base->display_info.luminance_range;
 
-       if (luminance_range->max_luminance) {
-               caps->aux_min_input_signal = luminance_range->min_luminance;
+       if (luminance_range->max_luminance)
                caps->aux_max_input_signal = luminance_range->max_luminance;
-       } else {
-               caps->aux_min_input_signal = 0;
+       else
                caps->aux_max_input_signal = 512;
-       }
+
+       if (luminance_range->min_luminance)
+               caps->aux_min_input_signal = luminance_range->min_luminance;
+       else
+               caps->aux_min_input_signal = 1;
 
        min_input_signal_override = drm_get_panel_min_brightness_quirk(aconnector->drm_edid);
        if (min_input_signal_override >= 0)