[AMD Official Use Only - General]
Setting 'replay_feature_enabled' to false did not fix the issue, and PSR could not be enabled on an eDP without Replay support (Sink support 0x03 in my case).
Thank you, Ivan Lipski
From: Lakha, Bhawanpreet <Bhawanpreet.Lakha@xxxxxxx>
Sent: October 3, 2023 1:03 PM To: Li, Sun peng (Leo) <Sunpeng.Li@xxxxxxx>; LIPSKI, IVAN <IVAN.LIPSKI@xxxxxxx>; amd-gfx@xxxxxxxxxxxxxxxxxxxxx <amd-gfx@xxxxxxxxxxxxxxxxxxxxx> Cc: Siqueira, Rodrigo <Rodrigo.Siqueira@xxxxxxx>; Mahfooz, Hamza <Hamza.Mahfooz@xxxxxxx>; Wentland, Harry <Harry.Wentland@xxxxxxx>; Deucher, Alexander <Alexander.Deucher@xxxxxxx>; Chung, ChiaHsuan (Tom) <ChiaHsuan.Chung@xxxxxxx> Subject: Re: [PATCH v2] Revert "drm/amd/display: Enable Replay for static screen use cases"
[AMD Official Use Only - General]
yes, it will disable replay.
From: Li, Sun peng (Leo) <Sunpeng.Li@xxxxxxx>
Sent: October 3, 2023 11:40 AM To: Lakha, Bhawanpreet <Bhawanpreet.Lakha@xxxxxxx>; LIPSKI, IVAN <IVAN.LIPSKI@xxxxxxx>; amd-gfx@xxxxxxxxxxxxxxxxxxxxx <amd-gfx@xxxxxxxxxxxxxxxxxxxxx> Cc: Siqueira, Rodrigo <Rodrigo.Siqueira@xxxxxxx>; Mahfooz, Hamza <Hamza.Mahfooz@xxxxxxx>; Wentland, Harry <Harry.Wentland@xxxxxxx>; Deucher, Alexander <Alexander.Deucher@xxxxxxx>; Chung, ChiaHsuan (Tom) <ChiaHsuan.Chung@xxxxxxx> Subject: Re: [PATCH v2] Revert "drm/amd/display: Enable Replay for static screen use cases" On 2023-10-03 11:23, Lakha, Bhawanpreet wrote: > [AMD Official Use Only - General] > > > Why not just set replay_feature_enabled = true; to false? Would that be the right fix? If so, we can send out a patch with that instead. - Leo > ------------------------------------------------------------------------ > *From:* Li, Sun peng (Leo) <Sunpeng.Li@xxxxxxx> > *Sent:* October 3, 2023 11:20 AM > *To:* Lakha, Bhawanpreet <Bhawanpreet.Lakha@xxxxxxx>; LIPSKI, IVAN > <IVAN.LIPSKI@xxxxxxx>; amd-gfx@xxxxxxxxxxxxxxxxxxxxx > <amd-gfx@xxxxxxxxxxxxxxxxxxxxx> > *Cc:* Siqueira, Rodrigo <Rodrigo.Siqueira@xxxxxxx>; Mahfooz, Hamza > <Hamza.Mahfooz@xxxxxxx>; Wentland, Harry <Harry.Wentland@xxxxxxx>; > Deucher, Alexander <Alexander.Deucher@xxxxxxx>; Chung, ChiaHsuan (Tom) > <ChiaHsuan.Chung@xxxxxxx> > *Subject:* Re: [PATCH v2] Revert "drm/amd/display: Enable Replay for > static screen use cases" > > > On 2023-10-03 11:13, Lakha, Bhawanpreet wrote: >> [AMD Official Use Only - General] >> >> >> Any reason for reverting this instead of looking into >> "amdgpu_dm_setup_replay()" and "replay_feature_enabled" to see why reply >> is being enabled? > > It causes a regression in amd_psr. Unless there's a quick fix, we should > revert for now. It sounds like this can break existing support for > PSR/PSR SU. > > Acked-by: Leo Li <sunpeng.li@xxxxxxx> > > - Leo > >> >> Bhawan >> ------------------------------------------------------------------------ >> *From:* LIPSKI, IVAN <IVAN.LIPSKI@xxxxxxx> >> *Sent:* October 2, 2023 1:47 PM >> *To:* amd-gfx@xxxxxxxxxxxxxxxxxxxxx <amd-gfx@xxxxxxxxxxxxxxxxxxxxx> >> *Cc:* Siqueira, Rodrigo <Rodrigo.Siqueira@xxxxxxx>; Mahfooz, Hamza >> <Hamza.Mahfooz@xxxxxxx>; Wentland, Harry <Harry.Wentland@xxxxxxx>; >> Lakha, Bhawanpreet <Bhawanpreet.Lakha@xxxxxxx>; Deucher, Alexander >> <Alexander.Deucher@xxxxxxx>; Li, Sun peng (Leo) <Sunpeng.Li@xxxxxxx>; >> Chung, ChiaHsuan (Tom) <ChiaHsuan.Chung@xxxxxxx>; LIPSKI, IVAN >> <IVAN.LIPSKI@xxxxxxx>; LIPSKI, IVAN <IVAN.LIPSKI@xxxxxxx> >> *Subject:* [PATCH v2] Revert "drm/amd/display: Enable Replay for static >> screen use cases" >> From: Ivan Lipski <ivlipski@xxxxxxx> >> >> 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@xxxxxxx> >> --- >> .../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, >> }; >> >> -- >> 2.34.1 >> |