[PATCH 17/18] drm/amd/display: Revert "Add DPP & HUBP reset if power gate enabled on DCN314"
IVAN.LIPSKI at amd.com
IVAN.LIPSKI at amd.com
Thu Jul 10 21:25:50 UTC 2025
From: Ivan Lipski <ivan.lipski at amd.com>
This reverts commit 7edfb158033874d29146eeb457daf080aa4d6aed.
[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 at amd.com>
Signed-off-by: Ivan Lipski <ivan.lipski at amd.com>
---
.../amd/display/dc/hwss/dcn314/dcn314_hwseq.c | 37 ++-----------------
.../amd/display/dc/hwss/dcn314/dcn314_hwseq.h | 2 -
.../amd/display/dc/hwss/dcn314/dcn314_init.c | 2 +-
3 files changed, 4 insertions(+), 37 deletions(-)
diff --git a/drivers/gpu/drm/amd/display/dc/hwss/dcn314/dcn314_hwseq.c b/drivers/gpu/drm/amd/display/dc/hwss/dcn314/dcn314_hwseq.c
index a40e119d8582..e68f21fd5f0f 100644
--- a/drivers/gpu/drm/amd/display/dc/hwss/dcn314/dcn314_hwseq.c
+++ b/drivers/gpu/drm/amd/display/dc/hwss/dcn314/dcn314_hwseq.c
@@ -55,15 +55,15 @@
#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);
-}
diff --git a/drivers/gpu/drm/amd/display/dc/hwss/dcn314/dcn314_hwseq.h b/drivers/gpu/drm/amd/display/dc/hwss/dcn314/dcn314_hwseq.h
index 12a57b79edfb..2305ad282f21 100644
--- a/drivers/gpu/drm/amd/display/dc/hwss/dcn314/dcn314_hwseq.h
+++ b/drivers/gpu/drm/amd/display/dc/hwss/dcn314/dcn314_hwseq.h
@@ -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__ */
diff --git a/drivers/gpu/drm/amd/display/dc/hwss/dcn314/dcn314_init.c b/drivers/gpu/drm/amd/display/dc/hwss/dcn314/dcn314_init.c
index 6963d25608ac..f5112742edf9 100644
--- a/drivers/gpu/drm/amd/display/dc/hwss/dcn314/dcn314_init.c
+++ b/drivers/gpu/drm/amd/display/dc/hwss/dcn314/dcn314_init.c
@@ -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,
--
2.43.0
More information about the amd-gfx
mailing list