[PATCH v2] Revert "drm/amd/display: Enable Replay for static screen use cases"

Hamza Mahfooz hamza.mahfooz at amd.com
Tue Oct 3 20:54:57 UTC 2023


On 10/2/23 13:47, ivlipski at amd.com wrote:
> From: Ivan Lipski <ivlipski at amd.com>
> 
> This reverts commit a92da5bc33ea99a861f6c422192af6072c145d2d.
> 
> V2: Reword commit message
> 
> [WHY]
> This commit caused regression in which eDP's with PSR support,
> but no Replay support (Sink support <= 0x03), failed enabling PSR
> and all IGT amd_psr tests.
> 
> [HOW]
> Reverted the patch.
> 
> Signed-off-by: Ivan Lipski <ivlipskI at amd.com>

Applied, thanks!

> ---
>   .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 23 -------------------
>   .../amd/display/amdgpu_dm/amdgpu_dm_crtc.c    |  9 +-------
>   drivers/gpu/drm/amd/include/amd_shared.h      |  2 --
>   3 files changed, 1 insertion(+), 33 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> index 32156609fbcf..f69b2e9ecd98 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -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);
>   
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c
> index fb51ec4f8d31..440fc0869a34 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c
> @@ -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);
>   		}
> diff --git a/drivers/gpu/drm/amd/include/amd_shared.h b/drivers/gpu/drm/amd/include/amd_shared.h
> index 314fd44ec018..ce75351204bb 100644
> --- a/drivers/gpu/drm/amd/include/amd_shared.h
> +++ b/drivers/gpu/drm/amd/include/amd_shared.h
> @@ -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,
>   };
>   
-- 
Hamza



More information about the amd-gfx mailing list