Commit 62e6a286 authored by Ivan Lipski's avatar Ivan Lipski Committed by Alex Deucher
Browse files

Revert "drm/amd/display: Enable Replay for static screen use cases"



This reverts commit 44e60b14.

Since, it causes a regression in which eDP displays with PSR support,
but no Replay support (Sink support <= 0x03), fail to enable PSR and
consequently all IGT amd_psr tests fail. So, revert this until a more
suitable fix can be found.

Cc: stable@vger.kernel.org
Acked-by: default avatarLeo Li <sunpeng.li@amd.com>
Signed-off-by: default avatarIvan Lipski <ivlipski@amd.com>
Signed-off-by: default avatarHamza Mahfooz <hamza.mahfooz@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 8dbf1ba8
Loading
Loading
Loading
Loading
+0 −23
Original line number Diff line number Diff line
@@ -66,7 +66,6 @@
#include "amdgpu_dm_debugfs.h"
#endif
#include "amdgpu_dm_psr.h"
#include "amdgpu_dm_replay.h"

#include "ivsrcid/ivsrcid_vislands30.h"

@@ -4423,7 +4422,6 @@ static int amdgpu_dm_initialize_drm_device(struct amdgpu_device *adev)
	enum dc_connection_type new_connection_type = dc_connection_none;
	const struct dc_plane_cap *plane;
	bool psr_feature_enabled = false;
	bool replay_feature_enabled = false;
	int max_overlay = dm->dc->caps.max_slave_planes;

	dm->display_indexes_num = dm->dc->caps.max_streams;
@@ -4535,21 +4533,6 @@ static int amdgpu_dm_initialize_drm_device(struct amdgpu_device *adev)
		}
	}

	if (!(amdgpu_dc_debug_mask & DC_DISABLE_REPLAY)) {
		switch (amdgpu_ip_version(adev, DCE_HWIP, 0)) {
		case IP_VERSION(3, 1, 4):
		case IP_VERSION(3, 1, 5):
		case IP_VERSION(3, 1, 6):
		case IP_VERSION(3, 2, 0):
		case IP_VERSION(3, 2, 1):
		case IP_VERSION(3, 5, 0):
			replay_feature_enabled = true;
			break;
		default:
			replay_feature_enabled = amdgpu_dc_feature_mask & DC_REPLAY_MASK;
			break;
		}
	}
	/* loops over all connectors on the board */
	for (i = 0; i < link_cnt; i++) {
		struct dc_link *link = NULL;
@@ -4618,12 +4601,6 @@ static int amdgpu_dm_initialize_drm_device(struct amdgpu_device *adev)
				amdgpu_dm_update_connector_after_detect(aconnector);
				setup_backlight_device(dm, aconnector);

				/*
				 * Disable psr if replay can be enabled
				 */
				if (replay_feature_enabled && amdgpu_dm_setup_replay(link, aconnector))
					psr_feature_enabled = false;

				if (psr_feature_enabled)
					amdgpu_dm_set_psr_caps(link);

+1 −8
Original line number Diff line number Diff line
@@ -29,7 +29,6 @@
#include "dc.h"
#include "amdgpu.h"
#include "amdgpu_dm_psr.h"
#include "amdgpu_dm_replay.h"
#include "amdgpu_dm_crtc.h"
#include "amdgpu_dm_plane.h"
#include "amdgpu_dm_trace.h"
@@ -124,12 +123,7 @@ static void vblank_control_worker(struct work_struct *work)
	 * fill_dc_dirty_rects().
	 */
	if (vblank_work->stream && vblank_work->stream->link) {
		/*
		 * Prioritize replay, instead of psr
		 */
		if (vblank_work->stream->link->replay_settings.replay_feature_enabled)
			amdgpu_dm_replay_enable(vblank_work->stream, false);
		else if (vblank_work->enable) {
		if (vblank_work->enable) {
			if (vblank_work->stream->link->psr_settings.psr_version < DC_PSR_VERSION_SU_1 &&
			    vblank_work->stream->link->psr_settings.psr_allow_active)
				amdgpu_dm_psr_disable(vblank_work->stream);
@@ -138,7 +132,6 @@ static void vblank_control_worker(struct work_struct *work)
#ifdef CONFIG_DRM_AMD_SECURE_DISPLAY
			   !amdgpu_dm_crc_window_is_activated(&vblank_work->acrtc->base) &&
#endif
			   vblank_work->stream->link->panel_config.psr.disallow_replay &&
			   vblank_work->acrtc->dm_irq_params.allow_psr_entry) {
			amdgpu_dm_psr_enable(vblank_work->stream);
		}
+0 −2
Original line number Diff line number Diff line
@@ -244,7 +244,6 @@ enum DC_FEATURE_MASK {
	DC_DISABLE_LTTPR_DP2_0 = (1 << 6), //0x40, disabled by default
	DC_PSR_ALLOW_SMU_OPT = (1 << 7), //0x80, disabled by default
	DC_PSR_ALLOW_MULTI_DISP_OPT = (1 << 8), //0x100, disabled by default
	DC_REPLAY_MASK = (1 << 9), //0x200, disabled by default for dcn < 3.1.4
};

enum DC_DEBUG_MASK {
@@ -255,7 +254,6 @@ enum DC_DEBUG_MASK {
	DC_DISABLE_PSR = 0x10,
	DC_FORCE_SUBVP_MCLK_SWITCH = 0x20,
	DC_DISABLE_MPO = 0x40,
	DC_DISABLE_REPLAY = 0x50,
	DC_ENABLE_DPIA_TRACE = 0x80,
};