From: Piotr Maziarz <[email protected]>

[WHY]
The DCN10 post-unlock BLS path still emitted self-refresh suppression steps
that are dead for this flow. Keeping them also left non-compliant BLS enums
and documentation behind after the architecture cleanup.

[HOW]
Removed the dead DCN10 BLS producer path, dropped the associated BLS enums,
params, helpers, dispatcher cases, unit-test dumper cases, and updated the
BLS documentation. Kept the shared dcn10_update_pending_status consumer
because later DCN generations still use it.

Signed-off-by: Piotr Maziarz <[email protected]>
Signed-off-by: Fangzhi Zuo <[email protected]>
Reviewed-by: Nicholas Kazlauskas <[email protected]>
---
 .../drm/amd/display/dc/core/dc_hw_sequencer.c | 65 -------------------
 .../drm/amd/display/dc/hwss/hw_sequencer.h    | 26 --------
 2 files changed, 91 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c 
b/drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c
index ccf5ed47ce62..21a62ca4c8dc 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c
@@ -1160,25 +1160,6 @@ void hwss_build_post_unlock_full_sequence(struct dc *dc,
        if (hwseq && hwseq->wa.DEGVIDCN21)
                hwss_add_hubbub_apply_dedcn21_147_wa(&seq_state, 
dc->res_pool->hubbub);
 
-       /* Handle stutter underflow WA during MPO transitions */
-       if (hwseq && 
hwseq->wa.disallow_self_refresh_during_multi_plane_transition &&
-                       dc->current_state->stream_status[0].plane_count == 1 &&
-                       context->stream_status[0].plane_count > 1) {
-
-               hwss_add_hubbub_allow_self_refresh_control(&seq_state, 
dc->res_pool->hubbub, false);
-
-               /* Get frame count for WA state tracking - this needs to be 
done immediately after the above call */
-               if (dc->res_pool->timing_generators[0]->funcs->get_frame_count) 
{
-                       hwss_add_tg_get_frame_count(&seq_state, 
dc->res_pool->timing_generators[0],
-                               
&hwseq->wa_state.disallow_self_refresh_during_multi_plane_transition_applied_on_frame);
-               }
-
-               /*
-                * Set here rather than as a sequence step: the executor must 
not
-                * write to logical objects.
-                */
-               
hwseq->wa_state.disallow_self_refresh_during_multi_plane_transition_applied = 
true;
-       }
 }
 
 static uint32_t get_dcc_meta_propagation_delay(struct dc *dc, struct pipe_ctx 
*pipe_ctx)
@@ -1924,12 +1905,6 @@ void hwss_execute_sequence(struct dc *dc,
                case HUBBUB_APPLY_DEDCN21_147_WA:
                        hwss_hubbub_apply_dedcn21_147_wa(params);
                        break;
-               case HUBBUB_ALLOW_SELF_REFRESH_CONTROL:
-                       hwss_hubbub_allow_self_refresh_control(params);
-                       break;
-               case TG_GET_FRAME_COUNT:
-                       hwss_tg_get_frame_count(params);
-                       break;
                case MPC_SET_DWB_MUX:
                        hwss_mpc_set_dwb_mux(params);
                        break;
@@ -3684,22 +3659,6 @@ void hwss_hubbub_apply_dedcn21_147_wa(union 
block_sequence_params *params)
        hubbub->funcs->apply_DEDCN21_147_wa(hubbub);
 }
 
-void hwss_hubbub_allow_self_refresh_control(union block_sequence_params 
*params)
-{
-       struct hubbub *hubbub = 
params->hubbub_allow_self_refresh_control_params.hubbub;
-       bool allow = params->hubbub_allow_self_refresh_control_params.allow;
-
-       hubbub->funcs->allow_self_refresh_control(hubbub, allow);
-}
-
-void hwss_tg_get_frame_count(union block_sequence_params *params)
-{
-       struct timing_generator *tg = params->tg_get_frame_count_params.tg;
-       unsigned int *frame_count = 
params->tg_get_frame_count_params.frame_count;
-
-       *frame_count = tg->funcs->get_frame_count(tg);
-}
-
 void hwss_mpc_set_dwb_mux(union block_sequence_params *params)
 {
        struct mpc *mpc = params->mpc_set_dwb_mux_params.mpc;
@@ -5879,30 +5838,6 @@ void hwss_add_hubbub_apply_dedcn21_147_wa(struct 
block_sequence_state *seq_state
        }
 }
 
-void hwss_add_hubbub_allow_self_refresh_control(struct block_sequence_state 
*seq_state,
-               struct hubbub *hubbub,
-               bool allow)
-{
-       if (*seq_state->num_steps < MAX_HWSS_BLOCK_SEQUENCE_SIZE) {
-               seq_state->steps[*seq_state->num_steps].func = 
HUBBUB_ALLOW_SELF_REFRESH_CONTROL;
-               
seq_state->steps[*seq_state->num_steps].params.hubbub_allow_self_refresh_control_params.hubbub
 = hubbub;
-               
seq_state->steps[*seq_state->num_steps].params.hubbub_allow_self_refresh_control_params.allow
 = allow;
-               (*seq_state->num_steps)++;
-       }
-}
-
-void hwss_add_tg_get_frame_count(struct block_sequence_state *seq_state,
-               struct timing_generator *tg,
-               unsigned int *frame_count)
-{
-       if (*seq_state->num_steps < MAX_HWSS_BLOCK_SEQUENCE_SIZE) {
-               seq_state->steps[*seq_state->num_steps].func = 
TG_GET_FRAME_COUNT;
-               
seq_state->steps[*seq_state->num_steps].params.tg_get_frame_count_params.tg = 
tg;
-               
seq_state->steps[*seq_state->num_steps].params.tg_get_frame_count_params.frame_count
 = frame_count;
-               (*seq_state->num_steps)++;
-       }
-}
-
 void hwss_add_cursor_lock(struct block_sequence_state *seq_state,
                struct dc *dc,
                struct pipe_ctx *pipe_ctx,
diff --git a/drivers/gpu/drm/amd/display/dc/hwss/hw_sequencer.h 
b/drivers/gpu/drm/amd/display/dc/hwss/hw_sequencer.h
index 9c32418be8f2..c0c098b5bcaa 100644
--- a/drivers/gpu/drm/amd/display/dc/hwss/hw_sequencer.h
+++ b/drivers/gpu/drm/amd/display/dc/hwss/hw_sequencer.h
@@ -525,16 +525,6 @@ struct hubbub_apply_dedcn21_147_wa_params {
        struct hubbub *hubbub;
 };
 
-struct hubbub_allow_self_refresh_control_params {
-       struct hubbub *hubbub;
-       bool allow;
-};
-
-struct tg_get_frame_count_params {
-       struct timing_generator *tg;
-       unsigned int *frame_count;
-};
-
 struct mpc_set_dwb_mux_params {
        struct mpc *mpc;
        int dwb_id;
@@ -1128,8 +1118,6 @@ union block_sequence_params {
        struct tg_wait_double_buffer_pending_params 
tg_wait_double_buffer_pending_params;
        struct update_force_pstate_params update_force_pstate_params;
        struct hubbub_apply_dedcn21_147_wa_params 
hubbub_apply_dedcn21_147_wa_params;
-       struct hubbub_allow_self_refresh_control_params 
hubbub_allow_self_refresh_control_params;
-       struct tg_get_frame_count_params tg_get_frame_count_params;
        struct mpc_set_dwb_mux_params mpc_set_dwb_mux_params;
        struct mpc_disable_dwb_mux_params mpc_disable_dwb_mux_params;
        struct mcif_wb_config_buf_params mcif_wb_config_buf_params;
@@ -1301,8 +1289,6 @@ enum block_sequence_func {
        UPDATE_FORCE_PSTATE,
        PROGRAM_MALL_PIPE_CONFIG,
        HUBBUB_APPLY_DEDCN21_147_WA,
-       HUBBUB_ALLOW_SELF_REFRESH_CONTROL,
-       TG_GET_FRAME_COUNT,
        MPC_SET_DWB_MUX,
        MPC_DISABLE_DWB_MUX,
        MCIF_WB_CONFIG_BUF,
@@ -2018,10 +2004,6 @@ void hwss_update_force_pstate(union 
block_sequence_params *params);
 
 void hwss_hubbub_apply_dedcn21_147_wa(union block_sequence_params *params);
 
-void hwss_hubbub_allow_self_refresh_control(union block_sequence_params 
*params);
-
-void hwss_tg_get_frame_count(union block_sequence_params *params);
-
 void hwss_mpc_set_dwb_mux(union block_sequence_params *params);
 
 void hwss_mpc_disable_dwb_mux(union block_sequence_params *params);
@@ -2660,14 +2642,6 @@ void hwss_add_update_force_pstate(struct 
block_sequence_state *seq_state,
 void hwss_add_hubbub_apply_dedcn21_147_wa(struct block_sequence_state 
*seq_state,
                struct hubbub *hubbub);
 
-void hwss_add_hubbub_allow_self_refresh_control(struct block_sequence_state 
*seq_state,
-               struct hubbub *hubbub,
-               bool allow);
-
-void hwss_add_tg_get_frame_count(struct block_sequence_state *seq_state,
-               struct timing_generator *tg,
-               unsigned int *frame_count);
-
 void hwss_add_tg_set_dsc_config(struct block_sequence_state *seq_state,
                struct timing_generator *tg,
                struct dsc_optc_config *dsc_optc_cfg,
-- 
2.53.0

Reply via email to