From: Mario Limonciello <mario.limoncie...@amd.com>

[Why]
Default BIOS brightness caps are buried in ACPI.

[How]
Add extra dynamic debug that can show default brightness caps.

Reviewed-by: Alex Hung <alex.h...@amd.com>
Signed-off-by: Mario Limonciello <mario.limoncie...@amd.com>
Signed-off-by: Wayne Lin <wayne....@amd.com>
---
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c 
b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index 0ac42ebbd405..0d9a339d12eb 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -4911,6 +4911,7 @@ amdgpu_dm_register_backlight_device(struct 
amdgpu_dm_connector *aconnector)
        struct backlight_properties props = { 0 };
        struct amdgpu_dm_backlight_caps caps = { 0 };
        char bl_name[16];
+       int min, max;
 
        if (aconnector->bl_idx == -1)
                return;
@@ -4923,11 +4924,15 @@ amdgpu_dm_register_backlight_device(struct 
amdgpu_dm_connector *aconnector)
        }
 
        amdgpu_acpi_get_backlight_caps(&caps);
-       if (caps.caps_valid) {
+       if (caps.caps_valid && get_brightness_range(&caps, &min, &max)) {
                if (power_supply_is_system_supplied() > 0)
                        props.brightness = caps.ac_level;
                else
                        props.brightness = caps.dc_level;
+               /* min is zero, so max needs to be adjusted */
+               props.max_brightness = max - min;
+               drm_dbg(drm, "Backlight caps: min: %d, max: %d, ac %d, dc 
%d\n", min, max,
+                       caps.ac_level, caps.dc_level);
        } else
                props.brightness = AMDGPU_MAX_BL_LEVEL;
 
-- 
2.43.0

Reply via email to