From: Daniel Miess <[email protected]>

Revert commit 6c2c207e4a24 ("drm/amd/display: Move DCN314 DOMAIN power control 
to DMCUB")

[Why]
Controling hubp power gating using the DMCUB isn't stable so we
are reverting this change to move control back into the driver

Acked-by: Stylon Wang <[email protected]>
Signed-off-by: Daniel Miess <[email protected]>
Reviewed-by: Nicholas Kazlauskas <[email protected]>
---
 .../drm/amd/display/dc/dcn314/dcn314_hwseq.c  | 21 -------------------
 .../drm/amd/display/dc/dcn314/dcn314_hwseq.h  |  2 --
 .../drm/amd/display/dc/dcn314/dcn314_init.c   |  2 +-
 3 files changed, 1 insertion(+), 24 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/dcn314/dcn314_hwseq.c 
b/drivers/gpu/drm/amd/display/dc/dcn314/dcn314_hwseq.c
index ce7e6f20b31f..4d2820ffe468 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn314/dcn314_hwseq.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn314/dcn314_hwseq.c
@@ -429,27 +429,6 @@ void dcn314_dpp_root_clock_control(struct dce_hwseq *hws, 
unsigned int dpp_inst,
                        hws->ctx->dc->res_pool->dccg, dpp_inst, clock_on);
 }
 
-void dcn314_hubp_pg_control(struct dce_hwseq *hws, unsigned int hubp_inst, 
bool power_on)
-{
-       struct dc_context *ctx = hws->ctx;
-       union dmub_rb_cmd cmd;
-
-       if (hws->ctx->dc->debug.disable_hubp_power_gate)
-               return;
-
-       PERF_TRACE();
-
-       memset(&cmd, 0, sizeof(cmd));
-       cmd.domain_control.header.type = DMUB_CMD__VBIOS;
-       cmd.domain_control.header.sub_type = DMUB_CMD__VBIOS_DOMAIN_CONTROL;
-       cmd.domain_control.header.payload_bytes = 
sizeof(cmd.domain_control.data);
-       cmd.domain_control.data.inst = hubp_inst;
-       cmd.domain_control.data.power_gate = !power_on;
-
-       dm_execute_dmub_cmd(ctx, &cmd, DM_DMUB_WAIT_TYPE_WAIT);
-
-       PERF_TRACE();
-}
 static void apply_symclk_on_tx_off_wa(struct dc_link *link)
 {
        /* There are use cases where SYMCLK is referenced by OTG. For instance
diff --git a/drivers/gpu/drm/amd/display/dc/dcn314/dcn314_hwseq.h 
b/drivers/gpu/drm/amd/display/dc/dcn314/dcn314_hwseq.h
index 559d71002e8a..eafcc4ea6d24 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn314/dcn314_hwseq.h
+++ b/drivers/gpu/drm/amd/display/dc/dcn314/dcn314_hwseq.h
@@ -43,8 +43,6 @@ void dcn314_set_pixels_per_cycle(struct pipe_ctx *pipe_ctx);
 
 void dcn314_resync_fifo_dccg_dio(struct dce_hwseq *hws, struct dc *dc, struct 
dc_state *context);
 
-void dcn314_hubp_pg_control(struct dce_hwseq *hws, unsigned int hubp_inst, 
bool power_on);
-
 void dcn314_dpp_root_clock_control(struct dce_hwseq *hws, unsigned int 
dpp_inst, bool clock_on);
 
 void dcn314_disable_link_output(struct dc_link *link, const struct 
link_resource *link_res, enum signal_type signal);
diff --git a/drivers/gpu/drm/amd/display/dc/dcn314/dcn314_init.c 
b/drivers/gpu/drm/amd/display/dc/dcn314/dcn314_init.c
index 86d6a514dec0..ca8fe55c33b8 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn314/dcn314_init.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn314/dcn314_init.c
@@ -139,7 +139,7 @@ static const struct hwseq_private_funcs 
dcn314_private_funcs = {
        .plane_atomic_power_down = dcn10_plane_atomic_power_down,
        .enable_power_gating_plane = dcn314_enable_power_gating_plane,
        .dpp_root_clock_control = dcn314_dpp_root_clock_control,
-       .hubp_pg_control = dcn314_hubp_pg_control,
+       .hubp_pg_control = dcn31_hubp_pg_control,
        .program_all_writeback_pipes_in_tree = 
dcn30_program_all_writeback_pipes_in_tree,
        .update_odm = dcn314_update_odm,
        .dsc_pg_control = dcn314_dsc_pg_control,
-- 
2.40.1

Reply via email to