Commit 670bae10 authored by Nicholas Kazlauskas's avatar Nicholas Kazlauskas Committed by Alex Deucher
Browse files

Revert "drm/amd/display: Don't allow IPS2 in D0 for RCG Dynamic"



This reverts commit 84886469.

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: 84886469 ("drm/amd/display: Don't allow IPS2 in D0 for RCG Dynamic")
Reviewed-by: default avatarOvidiu Bunea <ovidiu.bunea@amd.com>
Signed-off-by: default avatarNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Signed-off-by: default avatarAurabindo Pillai <aurabindo.pillai@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 1afb0e01
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -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)
+0 −1
Original line number Diff line number Diff line
@@ -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);