In this version, the global sync programming differs and needs an
specific function call slightly different from the commonly used
dcn20_program_tg. Hook up dcn401_program_tg only for dcn401.

Signed-off-by: Melissa Wen <m...@igalia.com>
---
 .../gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c    | 9 ++++-----
 .../gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.h    | 4 ++++
 drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_init.c | 1 +
 3 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c 
b/drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
index c8c8a17ff183..06190c73c22c 100644
--- a/drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
+++ b/drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
@@ -2191,11 +2191,10 @@ static unsigned int 
dcn401_calculate_vready_offset_for_group(struct pipe_ctx *pi
        return vready_offset;
 }
 
-static void dcn401_program_tg(
-       struct dc *dc,
-       struct pipe_ctx *pipe_ctx,
-       struct dc_state *context,
-       struct dce_hwseq *hws)
+void dcn401_program_tg(struct dc *dc,
+                      struct pipe_ctx *pipe_ctx,
+                      struct dc_state *context,
+                      struct dce_hwseq *hws)
 {
        pipe_ctx->stream_res.tg->funcs->program_global_sync(
                pipe_ctx->stream_res.tg,
diff --git a/drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.h 
b/drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.h
index ce65b4f6c672..26c350efb1c2 100644
--- a/drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.h
+++ b/drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.h
@@ -93,6 +93,10 @@ void dcn401_reset_back_end_for_pipe(
 void dcn401_reset_hw_ctx_wrap(
                struct dc *dc,
                struct dc_state *context);
+void dcn401_program_tg(struct dc *dc,
+                      struct pipe_ctx *pipe_ctx,
+                      struct dc_state *context,
+                      struct dce_hwseq *hws);
 void dcn401_program_pipe(
        struct dc *dc,
        struct pipe_ctx *pipe_ctx,
diff --git a/drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_init.c 
b/drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_init.c
index fe7aceb2f510..65c551895ac9 100644
--- a/drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_init.c
+++ b/drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_init.c
@@ -101,6 +101,7 @@ static const struct hw_sequencer_funcs dcn401_funcs = {
        .program_outstanding_updates = dcn401_program_outstanding_updates,
        .wait_for_all_pending_updates = dcn30_wait_for_all_pending_updates,
        .detect_pipe_changes = dcn401_detect_pipe_changes,
+       .program_tg = dcn401_program_tg,
        .enable_plane = dcn20_enable_plane,
        .update_dchubp_dpp = dcn20_update_dchubp_dpp,
        .post_unlock_reset_opp = dcn20_post_unlock_reset_opp,
-- 
2.47.2

Reply via email to