]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/amd/display: Indicate when custom brightness curves are in use
authorMario Limonciello <superm1@kernel.org>
Sun, 24 Aug 2025 20:20:58 +0000 (15:20 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Nov 2025 20:37:15 +0000 (15:37 -0500)
[ Upstream commit 68f3c044f37d9f50d67417fa8018d9cf16423458 ]

[Why]
There is a `scale` sysfs attribute that can be used to indicate when
non-linear brightness scaling is in use.  As Custom brightness curves
work by linear interpolation of points the scale is no longer linear.

[How]
Indicate non-linear scaling when custom brightness curves in use and
linear scaling otherwise.

Reviewed-by: Alex Hung <alex.hung@amd.com>
Signed-off-by: Mario Limonciello <superm1@kernel.org>
Signed-off-by: Wayne Lin <wayne.lin@amd.com>
Tested-by: Dan Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index afe3a8279c3a96cfd517a0e20b5357726621ff75..8eb2fc413348749360bc0e0915796fd7f608b62a 100644 (file)
@@ -5032,8 +5032,11 @@ amdgpu_dm_register_backlight_device(struct amdgpu_dm_connector *aconnector)
        } else
                props.brightness = props.max_brightness = MAX_BACKLIGHT_LEVEL;
 
-       if (caps->data_points && !(amdgpu_dc_debug_mask & DC_DISABLE_CUSTOM_BRIGHTNESS_CURVE))
+       if (caps->data_points && !(amdgpu_dc_debug_mask & DC_DISABLE_CUSTOM_BRIGHTNESS_CURVE)) {
                drm_info(drm, "Using custom brightness curve\n");
+               props.scale = BACKLIGHT_SCALE_NON_LINEAR;
+       } else
+               props.scale = BACKLIGHT_SCALE_LINEAR;
        props.type = BACKLIGHT_RAW;
 
        snprintf(bl_name, sizeof(bl_name), "amdgpu_bl%d",