mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00
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>
This commit is contained in:
parent
32be4e39f4
commit
0d93e82186
@ -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);
|
||||
|
@ -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");
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user