From: Mario Limonciello <[email protected]>

[Why]
If BIOS doesn't include ATIF method it will not specify default AC or DC
levels. This means that backlight will always start at 0%, which isn't
expected behavior.

[How]
Set default AC and DC level when no valid caps found.  Also reduce code
duplication for ACPI and non-ACPI cases.

Reported-by: Edson Juliano Drosdeck <[email protected]>
Closes: 
https://lore.kernel.org/dri-devel/[email protected]/

Reviewed-by: Alex Hung <[email protected]>
Signed-off-by: Mario Limonciello <[email protected]>
Signed-off-by: Chenyu Chen <[email protected]>
---
 .../amd/display/amdgpu_dm/amdgpu_dm_backlight.c    | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_backlight.c 
b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_backlight.c
index f101aed75bb3..0a861d846677 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_backlight.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_backlight.c
@@ -78,20 +78,16 @@ void amdgpu_dm_update_backlight_caps(struct 
amdgpu_display_manager *dm,
                        caps->caps_valid = false;
                }
        }
-
+#else
+       if (caps->aux_support)
+               return;
+#endif
        if (!caps->caps_valid) {
                caps->min_input_signal = AMDGPU_DM_DEFAULT_MIN_BACKLIGHT;
                caps->max_input_signal = AMDGPU_DM_DEFAULT_MAX_BACKLIGHT;
+               caps->ac_level = caps->dc_level = 50;
                caps->caps_valid = true;
        }
-#else
-       if (caps->aux_support)
-               return;
-
-       caps->min_input_signal = AMDGPU_DM_DEFAULT_MIN_BACKLIGHT;
-       caps->max_input_signal = AMDGPU_DM_DEFAULT_MAX_BACKLIGHT;
-       caps->caps_valid = true;
-#endif
 }
 EXPORT_IF_KUNIT(amdgpu_dm_update_backlight_caps);
 
-- 
2.43.0

Reply via email to