aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlvin Lee <[email protected]>2024-04-26 16:23:37 -0400
committerAlex Deucher <[email protected]>2024-05-08 15:17:03 -0400
commit3706bf2eba8d90887bdb7e05f9227686848e1342 (patch)
treec7fb30d4bfdad17e67678b2f759719e13775a8cc
parentb33f1d128cffa99f08631b22c8fb982db465985b (diff)
Revert "drm/amd/display: Only program P-State force if pipe config changed"
This reverts commit 3351c608f373 ("drm/amd/display: Only program P-State force if pipe config changed") Which causes regression. Reviewed-by: Samson Tam <[email protected]> Acked-by: Tom Chung <[email protected]> Signed-off-by: Alvin Lee <[email protected]> Tested-by: Daniel Wheeler <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
-rw-r--r--drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c18
1 files changed, 1 insertions, 17 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c b/drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c
index 901e3b531a12..ba4b2786f440 100644
--- a/drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c
+++ b/drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c
@@ -614,26 +614,10 @@ void dcn32_update_force_pstate(struct dc *dc, struct dc_state *context)
*/
for (i = 0; i < dc->res_pool->pipe_count; i++) {
struct pipe_ctx *pipe = &context->res_ctx.pipe_ctx[i];
- struct pipe_ctx *old_pipe = &dc->current_state->res_ctx.pipe_ctx[i];
struct hubp *hubp = pipe->plane_res.hubp;
- /* Today for MED update type we do not call update clocks. However, for FPO
- * the assumption is that update clocks should be called to disable P-State
- * switch before any HW programming since FPO in FW and driver are not
- * synchronized. This causes an issue where on a MED update, an FPO P-State
- * switch could be taking place, then driver forces P-State disallow in the below
- * code and prevents FPO from completing the sequence. In this case we add a check
- * to avoid re-programming (and thus re-setting) the P-State force register by
- * only reprogramming if the pipe was not previously Subvp or FPO. The assumption
- * is that the P-State force register should be programmed correctly the first
- * time SubVP / FPO was enabled, so there's no need to update / reset it if the
- * pipe config has never exited SubVP / FPO.
- */
if (pipe->stream && (dc_state_get_pipe_subvp_type(context, pipe) == SUBVP_MAIN ||
- pipe->stream->fpo_in_use) &&
- (!old_pipe->stream ||
- (dc_state_get_pipe_subvp_type(context, old_pipe) != SUBVP_MAIN &&
- !old_pipe->stream->fpo_in_use))) {
+ pipe->stream->fpo_in_use)) {
if (hubp && hubp->funcs->hubp_update_force_pstate_disallow)
hubp->funcs->hubp_update_force_pstate_disallow(hubp, true);
if (hubp && hubp->funcs->hubp_update_force_cursor_pstate_disallow)