]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amd/display: Revert "Add DPP & HUBP reset if power gate enabled on DCN314"
authorIvan Lipski <ivan.lipski@amd.com>
Wed, 2 Jul 2025 19:34:30 +0000 (15:34 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 15 Jul 2025 18:07:53 +0000 (14:07 -0400)
This reverts commit 99e25e4683d7cfdf79dcc328e11bb6c924c77566.

[Why & How]
This commit caused a blank screen on internal display when projecting to
an external display on DCN314.

Reviewed-by: Aric Cyr <aric.cyr@amd.com>
Signed-off-by: Ivan Lipski <ivan.lipski@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/hwss/dcn314/dcn314_hwseq.c
drivers/gpu/drm/amd/display/dc/hwss/dcn314/dcn314_hwseq.h
drivers/gpu/drm/amd/display/dc/hwss/dcn314/dcn314_init.c

index a40e119d8582e6f932e6c86794d793e7c517efcf..e68f21fd5f0fb498699d8ecd688fb552e1577a86 100644 (file)
 #include "dcn20/dcn20_optc.h"
 #include "dcn30/dcn30_cm_common.h"
 
-#define DC_LOGGER_INIT(logger) \
-       struct dal_logger *dc_logger = logger
+#define DC_LOGGER_INIT(logger)
 
 #define CTX \
        hws->ctx
 #define REG(reg)\
        hws->regs->reg
 #define DC_LOGGER \
-       dc_logger
+       stream->ctx->logger
+
 
 #undef FN
 #define FN(reg_name, field_name) \
@@ -76,8 +76,6 @@ static void update_dsc_on_stream(struct pipe_ctx *pipe_ctx, bool enable)
        struct pipe_ctx *odm_pipe;
        int opp_cnt = 1;
 
-       DC_LOGGER_INIT(stream->ctx->logger);
-
        ASSERT(dsc);
        for (odm_pipe = pipe_ctx->next_odm_pipe; odm_pipe; odm_pipe = odm_pipe->next_odm_pipe)
                opp_cnt++;
@@ -530,32 +528,3 @@ void dcn314_disable_link_output(struct dc_link *link,
 
        apply_symclk_on_tx_off_wa(link);
 }
-
-
-void dcn314_plane_atomic_power_down(struct dc *dc,
-               struct dpp *dpp,
-               struct hubp *hubp)
-{
-       struct dce_hwseq *hws = dc->hwseq;
-       DC_LOGGER_INIT(dc->ctx->logger);
-
-       if (REG(DC_IP_REQUEST_CNTL)) {
-               REG_SET(DC_IP_REQUEST_CNTL, 0, IP_REQUEST_EN, 1);
-
-               if (hws->funcs.dpp_pg_control) {
-                       hws->funcs.dpp_pg_control(hws, dpp->inst, false);
-                       dpp->funcs->dpp_reset(dpp);
-               }
-
-               if (hws->funcs.hubp_pg_control) {
-                       hws->funcs.hubp_pg_control(hws, hubp->inst, false);
-                       hubp->funcs->hubp_reset(hubp);
-               }
-
-               REG_SET(DC_IP_REQUEST_CNTL, 0, IP_REQUEST_EN, 0);
-               DC_LOG_DEBUG("Power gated front end %d\n", hubp->inst);
-       }
-
-       if (hws->funcs.dpp_root_clock_control)
-               hws->funcs.dpp_root_clock_control(hws, dpp->inst, false);
-}
index 12a57b79edfbb27a35f2418831f87b2078db5e80..2305ad282f218b3d304ca92b0e5e7e2d61695d6a 100644 (file)
@@ -47,6 +47,4 @@ void dcn314_dpp_root_clock_control(struct dce_hwseq *hws, unsigned int dpp_inst,
 
 void dcn314_disable_link_output(struct dc_link *link, const struct link_resource *link_res, enum signal_type signal);
 
-void dcn314_plane_atomic_power_down(struct dc *dc, struct dpp *dpp, struct hubp *hubp);
-
 #endif /* __DC_HWSS_DCN314_H__ */
index 6963d25608ac0d0f2172fd2cf7643a53100b5774..f5112742edf9b4e7722bbbbb041e81551644e121 100644 (file)
@@ -137,7 +137,7 @@ static const struct hwseq_private_funcs dcn314_private_funcs = {
        .disable_vga = dcn20_disable_vga,
        .bios_golden_init = dcn10_bios_golden_init,
        .plane_atomic_disable = dcn20_plane_atomic_disable,
-       .plane_atomic_power_down = dcn314_plane_atomic_power_down,
+       .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 = dcn31_hubp_pg_control,