Commit 0747acf3 authored by Mario Limonciello's avatar Mario Limonciello Committed by Alex Deucher
Browse files

drm/amd/display: fix default brightness



[Why]
To avoid flickering during boot default brightness level set by BIOS
should be maintained for as much of the boot as feasible.
commit 2fe87f54 ("drm/amd/display: Set default brightness according
to ACPI") attempted to set the right levels for AC vs DC, but brightness
still got reset to maximum level in initialization code for
setup_backlight_device().

[How]
Remove the hardcoded initialization in setup_backlight_device() and
instead program brightness value to match BIOS (AC or DC).  This avoids a
brightness flicker from kernel changing the value.  Userspace may however
still change it during boot.

Fixes: 2fe87f54 ("drm/amd/display: Set default brightness according to ACPI")
Acked-by: default avatarWayne Lin <Wayne.Lin@amd.com>
Signed-off-by: default avatarMario Limonciello <mario.limonciello@amd.com>
Signed-off-by: default avatarTom Chung <chiahsuan.chung@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent d93b92c9
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -4986,6 +4986,7 @@ amdgpu_dm_register_backlight_device(struct amdgpu_dm_connector *aconnector)
	dm->backlight_dev[aconnector->bl_idx] =
		backlight_device_register(bl_name, aconnector->base.kdev, dm,
					  &amdgpu_dm_backlight_ops, &props);
	dm->brightness[aconnector->bl_idx] = props.brightness;

	if (IS_ERR(dm->backlight_dev[aconnector->bl_idx])) {
		DRM_ERROR("DM: Backlight registration failed!\n");
@@ -5053,7 +5054,6 @@ static void setup_backlight_device(struct amdgpu_display_manager *dm,
	aconnector->bl_idx = bl_idx;

	amdgpu_dm_update_backlight_caps(dm, bl_idx);
	dm->brightness[bl_idx] = AMDGPU_MAX_BL_LEVEL;
	dm->backlight_link[bl_idx] = link;
	dm->num_of_edps++;