aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicholas Kazlauskas <nicholas.kazlauskas@amd.com>2024-11-28 11:45:21 -0500
committerAlex Deucher <alexander.deucher@amd.com>2024-12-10 10:35:56 -0500
commit670bae1037a5f741f2caee5b3ce504289fcbbc9b (patch)
treeecb6084d76db6ab6b981c3af4b4a1b3da4c66509
parentRevert "drm/amd/display: Revised for Replay Pseudo vblank" (diff)
downloadlinux-670bae1037a5f741f2caee5b3ce504289fcbbc9b.tar.gz
linux-670bae1037a5f741f2caee5b3ce504289fcbbc9b.zip
Revert "drm/amd/display: Don't allow IPS2 in D0 for RCG Dynamic"
This reverts commit 8488646966fe. In some test environments causes reporting failures for S0i3/S4. It shouldn't actually block entry provided there's no race with the last state being updated, but currently suspecting there's an IPS2 check that's no longer being met. Fixes: 8488646966fe ("drm/amd/display: Don't allow IPS2 in D0 for RCG Dynamic") Reviewed-by: Ovidiu Bunea <ovidiu.bunea@amd.com> Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c5
-rw-r--r--drivers/gpu/drm/amd/display/dc/dc_dmub_srv.h1
2 files changed, 1 insertions, 5 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c b/drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c
index 2c3672c41163..775c58637f46 100644
--- a/drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c
+++ b/drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c
@@ -1313,8 +1313,7 @@ static void dc_dmub_srv_notify_idle(const struct dc *dc, bool allow_idle)
new_signals.bits.allow_ips2 = 1;
} else if (dc->config.disable_ips == DMUB_IPS_RCG_IN_ACTIVE_IPS2_IN_OFF) {
/* TODO: Move this logic out to hwseq */
- if (dc_dmub_srv->last_power_state == DC_ACPI_CM_POWER_STATE_D3 &&
- count_active_streams(dc) == 0) {
+ if (count_active_streams(dc) == 0) {
/* IPS2 - Display off */
new_signals.bits.allow_pg = 1;
new_signals.bits.allow_ips1 = 1;
@@ -1518,8 +1517,6 @@ void dc_dmub_srv_notify_fw_dc_power_state(struct dc_dmub_srv *dc_dmub_srv,
}
dc_wake_and_execute_dmub_cmd(dc_dmub_srv->ctx, &cmd, DM_DMUB_WAIT_TYPE_WAIT);
-
- dc_dmub_srv->last_power_state = power_state;
}
bool dc_dmub_srv_should_detect(struct dc_dmub_srv *dc_dmub_srv)
diff --git a/drivers/gpu/drm/amd/display/dc/dc_dmub_srv.h b/drivers/gpu/drm/amd/display/dc/dc_dmub_srv.h
index 4763e652c9c7..10b48198b7a6 100644
--- a/drivers/gpu/drm/amd/display/dc/dc_dmub_srv.h
+++ b/drivers/gpu/drm/amd/display/dc/dc_dmub_srv.h
@@ -56,7 +56,6 @@ struct dc_dmub_srv {
union dmub_shared_state_ips_driver_signals driver_signals;
bool idle_allowed;
bool needs_idle_wake;
- enum dc_acpi_cm_power_state last_power_state;
};
void dc_dmub_srv_wait_idle(struct dc_dmub_srv *dc_dmub_srv);