Re: [PATCH v2] Revert "drm/amd/display: Enable Replay for static screen use cases"
On 10/2/23 13:47, ivlip...@amd.com wrote: From: Ivan Lipski 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 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(_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 ---
Re: [PATCH v2] Revert "drm/amd/display: Enable Replay for static screen use cases"
[AMD Official Use Only - General] You can revert it for now, but that is a bug as replay_feature_enabled should stop all replay related calls. From: LIPSKI, IVAN Sent: October 3, 2023 4:11 PM To: Lakha, Bhawanpreet ; Li, Sun peng (Leo) ; amd-gfx@lists.freedesktop.org Cc: Siqueira, Rodrigo ; Mahfooz, Hamza ; Wentland, Harry ; Deucher, Alexander ; Chung, ChiaHsuan (Tom) Subject: Re: [PATCH v2] Revert "drm/amd/display: Enable Replay for static screen use cases" [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 Sent: October 3, 2023 1:03 PM To: Li, Sun peng (Leo) ; LIPSKI, IVAN ; amd-gfx@lists.freedesktop.org Cc: Siqueira, Rodrigo ; Mahfooz, Hamza ; Wentland, Harry ; Deucher, Alexander ; Chung, ChiaHsuan (Tom) 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) Sent: October 3, 2023 11:40 AM To: Lakha, Bhawanpreet ; LIPSKI, IVAN ; amd-gfx@lists.freedesktop.org Cc: Siqueira, Rodrigo ; Mahfooz, Hamza ; Wentland, Harry ; Deucher, Alexander ; Chung, ChiaHsuan (Tom) 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) > *Sent:* October 3, 2023 11:20 AM > *To:* Lakha, Bhawanpreet ; LIPSKI, IVAN > ; amd-gfx@lists.freedesktop.org > > *Cc:* Siqueira, Rodrigo ; Mahfooz, Hamza > ; Wentland, Harry ; > Deucher, Alexander ; Chung, ChiaHsuan (Tom) > > *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 > > - Leo > >> >> Bhawan >> >> *From:* LIPSKI, IVAN >> *Sent:* October 2, 2023 1:47 PM >> *To:* amd-gfx@lists.freedesktop.org >> *Cc:* Siqueira, Rodrigo ; Mahfooz, Hamza >> ; Wentland, Harry ; >> Lakha, Bhawanpreet ; Deucher, Alexander >> ; Li, Sun peng (Leo) ; >> Chung, ChiaHsuan (Tom) ; LIPSKI, IVAN >> ; LIPSKI, IVAN >> *Subject:* [PATCH v2] Revert "drm/amd/display: Enable Replay for static >> screen use cases" >> From: Ivan Lipski >> >> 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 >> --- >> .../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
Re: [PATCH v2] Revert "drm/amd/display: Enable Replay for static screen use cases"
[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 Sent: October 3, 2023 1:03 PM To: Li, Sun peng (Leo) ; LIPSKI, IVAN ; amd-gfx@lists.freedesktop.org Cc: Siqueira, Rodrigo ; Mahfooz, Hamza ; Wentland, Harry ; Deucher, Alexander ; Chung, ChiaHsuan (Tom) 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) Sent: October 3, 2023 11:40 AM To: Lakha, Bhawanpreet ; LIPSKI, IVAN ; amd-gfx@lists.freedesktop.org Cc: Siqueira, Rodrigo ; Mahfooz, Hamza ; Wentland, Harry ; Deucher, Alexander ; Chung, ChiaHsuan (Tom) 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) > *Sent:* October 3, 2023 11:20 AM > *To:* Lakha, Bhawanpreet ; LIPSKI, IVAN > ; amd-gfx@lists.freedesktop.org > > *Cc:* Siqueira, Rodrigo ; Mahfooz, Hamza > ; Wentland, Harry ; > Deucher, Alexander ; Chung, ChiaHsuan (Tom) > > *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 > > - Leo > >> >> Bhawan >> >> *From:* LIPSKI, IVAN >> *Sent:* October 2, 2023 1:47 PM >> *To:* amd-gfx@lists.freedesktop.org >> *Cc:* Siqueira, Rodrigo ; Mahfooz, Hamza >> ; Wentland, Harry ; >> Lakha, Bhawanpreet ; Deucher, Alexander >> ; Li, Sun peng (Leo) ; >> Chung, ChiaHsuan (Tom) ; LIPSKI, IVAN >> ; LIPSKI, IVAN >> *Subject:* [PATCH v2] Revert "drm/amd/display: Enable Replay for static >> screen use cases" >> From: Ivan Lipski >> >> 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 >> --- >> .../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_debu
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) Sent: October 3, 2023 11:40 AM To: Lakha, Bhawanpreet ; LIPSKI, IVAN ; amd-gfx@lists.freedesktop.org Cc: Siqueira, Rodrigo ; Mahfooz, Hamza ; Wentland, Harry ; Deucher, Alexander ; Chung, ChiaHsuan (Tom) 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) > *Sent:* October 3, 2023 11:20 AM > *To:* Lakha, Bhawanpreet ; LIPSKI, IVAN > ; amd-gfx@lists.freedesktop.org > > *Cc:* Siqueira, Rodrigo ; Mahfooz, Hamza > ; Wentland, Harry ; > Deucher, Alexander ; Chung, ChiaHsuan (Tom) > > *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 > > - Leo > >> >> Bhawan >> >> *From:* LIPSKI, IVAN >> *Sent:* October 2, 2023 1:47 PM >> *To:* amd-gfx@lists.freedesktop.org >> *Cc:* Siqueira, Rodrigo ; Mahfooz, Hamza >> ; Wentland, Harry ; >> Lakha, Bhawanpreet ; Deucher, Alexander >> ; Li, Sun peng (Leo) ; >> Chung, ChiaHsuan (Tom) ; LIPSKI, IVAN >> ; LIPSKI, IVAN >> *Subject:* [PATCH v2] Revert "drm/amd/display: Enable Replay for static >> screen use cases" >> From: Ivan Lipski >> >> 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 >> --- >> .../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:
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) *Sent:* October 3, 2023 11:20 AM *To:* Lakha, Bhawanpreet ; LIPSKI, IVAN ; amd-gfx@lists.freedesktop.org *Cc:* Siqueira, Rodrigo ; Mahfooz, Hamza ; Wentland, Harry ; Deucher, Alexander ; Chung, ChiaHsuan (Tom) *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 - Leo Bhawan *From:* LIPSKI, IVAN *Sent:* October 2, 2023 1:47 PM *To:* amd-gfx@lists.freedesktop.org *Cc:* Siqueira, Rodrigo ; Mahfooz, Hamza ; Wentland, Harry ; Lakha, Bhawanpreet ; Deucher, Alexander ; Li, Sun peng (Leo) ; Chung, ChiaHsuan (Tom) ; LIPSKI, IVAN ; LIPSKI, IVAN *Subject:* [PATCH v2] Revert "drm/amd/display: Enable Replay for static screen use cases" From: Ivan Lipski 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 --- .../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 @@
Re: [PATCH v2] Revert "drm/amd/display: Enable Replay for static screen use cases"
[AMD Official Use Only - General] Why not just set replay_feature_enabled = true; to false? From: Li, Sun peng (Leo) Sent: October 3, 2023 11:20 AM To: Lakha, Bhawanpreet ; LIPSKI, IVAN ; amd-gfx@lists.freedesktop.org Cc: Siqueira, Rodrigo ; Mahfooz, Hamza ; Wentland, Harry ; Deucher, Alexander ; Chung, ChiaHsuan (Tom) 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 - Leo > > Bhawan > > *From:* LIPSKI, IVAN > *Sent:* October 2, 2023 1:47 PM > *To:* amd-gfx@lists.freedesktop.org > *Cc:* Siqueira, Rodrigo ; Mahfooz, Hamza > ; Wentland, Harry ; > Lakha, Bhawanpreet ; Deucher, Alexander > ; Li, Sun peng (Leo) ; > Chung, ChiaHsuan (Tom) ; LIPSKI, IVAN > ; LIPSKI, IVAN > *Subject:* [PATCH v2] Revert "drm/amd/display: Enable Replay for static > screen use cases" > From: Ivan Lipski > > 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 > --- > .../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
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 - Leo Bhawan *From:* LIPSKI, IVAN *Sent:* October 2, 2023 1:47 PM *To:* amd-gfx@lists.freedesktop.org *Cc:* Siqueira, Rodrigo ; Mahfooz, Hamza ; Wentland, Harry ; Lakha, Bhawanpreet ; Deucher, Alexander ; Li, Sun peng (Leo) ; Chung, ChiaHsuan (Tom) ; LIPSKI, IVAN ; LIPSKI, IVAN *Subject:* [PATCH v2] Revert "drm/amd/display: Enable Replay for static screen use cases" From: Ivan Lipski 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 --- .../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
Re: [PATCH v2] Revert "drm/amd/display: Enable Replay for static screen use cases"
[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? Bhawan From: LIPSKI, IVAN Sent: October 2, 2023 1:47 PM To: amd-gfx@lists.freedesktop.org Cc: Siqueira, Rodrigo ; Mahfooz, Hamza ; Wentland, Harry ; Lakha, Bhawanpreet ; Deucher, Alexander ; Li, Sun peng (Leo) ; Chung, ChiaHsuan (Tom) ; LIPSKI, IVAN ; LIPSKI, IVAN Subject: [PATCH v2] Revert "drm/amd/display: Enable Replay for static screen use cases" From: Ivan Lipski 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 --- .../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)