]> 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)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 5 Sep 2025 21:38:41 +0000 (17:38 -0400)
[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>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index dc4d04a8ce6b84974d1751433e3b61e41c5e6aa3..8d13212ff4abc4e631b974b21b86ae62ef860ddf 100644 (file)
@@ -5060,8 +5060,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",