]> git.itanic.dy.fi Git - linux-stable/commitdiff
drm/amd/display: Don't check registers, if using AUX BL control
authorSwapnil Patel <swapnil.patel@amd.com>
Thu, 17 Aug 2023 18:04:26 +0000 (14:04 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 6 Oct 2023 11:18:16 +0000 (13:18 +0200)
[ Upstream commit f5b2c10b57615828b531bb0ae56bd6325a41167e ]

[Why]
Currently the driver looks DCN registers to access if BL is on or not.
This check is not valid if we are using AUX based brightness control.
This causes driver to not send out "backlight off" command during power off
sequence as it already thinks it is off.

[How]
Only check DCN registers if we aren't using AUX based brightness control.

Reviewed-by: Wenjing Liu <wenjing.liu@amd.com>
Acked-by: Stylon Wang <stylon.wang@amd.com>
Signed-off-by: Swapnil Patel <swapnil.patel@amd.com>
Tested-by: Daniel 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/dc/dce110/dce110_hw_sequencer.c

index 52142d272c86881126542a1dd669edea89920bbf..87825818d43ec54ec0e8af3e5538ca78b22ba86f 100644 (file)
@@ -980,7 +980,9 @@ void dce110_edp_backlight_control(
                return;
        }
 
-       if (link->panel_cntl) {
+       if (link->panel_cntl && !(link->dpcd_sink_ext_caps.bits.oled ||
+               link->dpcd_sink_ext_caps.bits.hdr_aux_backlight_control == 1 ||
+               link->dpcd_sink_ext_caps.bits.sdr_aux_backlight_control == 1)) {
                bool is_backlight_on = link->panel_cntl->funcs->is_panel_backlight_on(link->panel_cntl);
 
                if ((enable && is_backlight_on) || (!enable && !is_backlight_on)) {