summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/display
diff options
context:
space:
mode:
authorCharlene Liu <Charlene.Liu@amd.com>2025-03-26 12:11:35 +0300
committerAlex Deucher <alexander.deucher@amd.com>2025-04-08 01:01:08 +0300
commit0d93e821867c2a6edcd15317311dcb99f7a16887 (patch)
treec74ce7a7a7ebf76ab4446b6c7c9d77bac1b5de03 /drivers/gpu/drm/amd/display
parent32be4e39f459f3ac9c191569ae8e3731cb82f7ab (diff)
downloadlinux-0d93e821867c2a6edcd15317311dcb99f7a16887.tar.xz
drm/amd/display: turn off eDP lcdvdd and backlight if not required
[why] A+N configuration, eDP on A-APU is off, extended display active. Resume from s4, eDP's backlight is still on. [how] Turn off inactive eDP backlight and lcdvdd. Reviewed-by: Charlene Liu <charlene.liu@amd.com> Reviewed-by: Aric Cyr <aric.cyr@amd.com> Signed-off-by: Charlene Liu <Charlene.Liu@amd.com> Signed-off-by: Jing Zhou <Jing.Zhou@amd.com> Signed-off-by: Roman Li <roman.li@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display')
-rw-r--r--drivers/gpu/drm/amd/display/dc/core/dc.c4
-rw-r--r--drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c2
2 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c
index 636999fcaebb..66e23507eb82 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
@@ -6298,10 +6298,10 @@ void dc_query_current_properties(struct dc *dc, struct dc_current_properties *pr
void dc_set_edp_power(const struct dc *dc, struct dc_link *edp_link,
bool powerOn)
{
- if (edp_link->connector_signal != SIGNAL_TYPE_EDP)
+ if (!edp_link || !edp_link->dc || !edp_link->dc->link_srv)
return;
- if (edp_link->skip_implict_edp_power_control == false)
+ if (edp_link->connector_signal != SIGNAL_TYPE_EDP)
return;
edp_link->dc->link_srv->edp_set_panel_power(edp_link, powerOn);
diff --git a/drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c b/drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c
index da74c2b5854f..f50c4dbc7553 100644
--- a/drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c
+++ b/drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c
@@ -393,6 +393,7 @@ void edp_set_panel_power(struct dc_link *link, bool powerOn)
// 3. Rx power on
dpcd_write_rx_power_ctrl(link, true);
+ DC_LOG_BACKLIGHT("eDP power and backlight: Power on");
} else {
// 3. Rx power off
dpcd_write_rx_power_ctrl(link, false);
@@ -404,6 +405,7 @@ void edp_set_panel_power(struct dc_link *link, bool powerOn)
// 1. panel VDD off
if (!link->dc->config.edp_no_power_sequencing)
link->dc->hwss.edp_power_control(link, false);
+ DC_LOG_BACKLIGHT("eDP power and backlight: Power off");
}
}