mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 01:49:46 +00:00
drm/amd/display: Insert dccg log for easy debug
[ Upstream commit35bcc9168f] [why] Log for sequence tracking Reviewed-by: Ovidiu (Ovi) Bunea <ovidiu.bunea@amd.com> Reviewed-by: Yihan Zhu <yihan.zhu@amd.com> Signed-off-by: Charlene Liu <Charlene.Liu@amd.com> Signed-off-by: Ivan Lipski <ivan.lipski@amd.com> Tested-by: Dan Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Stable-dep-of:cfa0904a35("drm/amd/display: Prevent Gating DTBCLK before It Is Properly Latched") Signed-off-by: Sasha Levin <sashal@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
b1515304a5
commit
25dcf6299d
@@ -39,6 +39,7 @@
|
||||
|
||||
#define CTX \
|
||||
dccg_dcn->base.ctx
|
||||
#include "logger_types.h"
|
||||
#define DC_LOGGER \
|
||||
dccg->ctx->logger
|
||||
|
||||
@@ -1132,7 +1133,7 @@ static void dcn35_set_dppclk_enable(struct dccg *dccg,
|
||||
default:
|
||||
break;
|
||||
}
|
||||
//DC_LOG_DEBUG("%s: dpp_inst(%d) DPPCLK_EN = %d\n", __func__, dpp_inst, enable);
|
||||
DC_LOG_DEBUG("%s: dpp_inst(%d) DPPCLK_EN = %d\n", __func__, dpp_inst, enable);
|
||||
|
||||
}
|
||||
|
||||
@@ -1400,6 +1401,10 @@ static void dccg35_set_dtbclk_dto(
|
||||
* PIPEx_DTO_SRC_SEL should not be programmed during DTBCLK update since OTG may still be on, and the
|
||||
* programming is handled in program_pix_clk() regardless, so it can be removed from here.
|
||||
*/
|
||||
DC_LOG_DEBUG("%s: OTG%d DTBCLK DTO enabled: pixclk_khz=%d, ref_dtbclk_khz=%d, req_dtbclk_khz=%d, phase=%d, modulo=%d\n",
|
||||
__func__, params->otg_inst, params->pixclk_khz,
|
||||
params->ref_dtbclk_khz, req_dtbclk_khz, phase, modulo);
|
||||
|
||||
} else {
|
||||
switch (params->otg_inst) {
|
||||
case 0:
|
||||
@@ -1425,6 +1430,8 @@ static void dccg35_set_dtbclk_dto(
|
||||
|
||||
REG_WRITE(DTBCLK_DTO_MODULO[params->otg_inst], 0);
|
||||
REG_WRITE(DTBCLK_DTO_PHASE[params->otg_inst], 0);
|
||||
|
||||
DC_LOG_DEBUG("%s: OTG%d DTBCLK DTO disabled\n", __func__, params->otg_inst);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1469,6 +1476,8 @@ static void dccg35_set_dpstreamclk(
|
||||
BREAK_TO_DEBUGGER();
|
||||
return;
|
||||
}
|
||||
DC_LOG_DEBUG("%s: dp_hpo_inst(%d) DPSTREAMCLK_EN = %d, DPSTREAMCLK_SRC_SEL = %d\n",
|
||||
__func__, dp_hpo_inst, (src == REFCLK) ? 0 : 1, otg_inst);
|
||||
}
|
||||
|
||||
|
||||
@@ -1508,6 +1517,8 @@ static void dccg35_set_dpstreamclk_root_clock_gating(
|
||||
BREAK_TO_DEBUGGER();
|
||||
return;
|
||||
}
|
||||
DC_LOG_DEBUG("%s: dp_hpo_inst(%d) DPSTREAMCLK_ROOT_GATE_DISABLE = %d\n",
|
||||
__func__, dp_hpo_inst, enable ? 1 : 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -1547,7 +1558,7 @@ static void dccg35_set_physymclk_root_clock_gating(
|
||||
BREAK_TO_DEBUGGER();
|
||||
return;
|
||||
}
|
||||
//DC_LOG_DEBUG("%s: dpp_inst(%d) PHYESYMCLK_ROOT_GATE_DISABLE:\n", __func__, phy_inst, enable ? 0 : 1);
|
||||
DC_LOG_DEBUG("%s: dpp_inst(%d) PHYESYMCLK_ROOT_GATE_DISABLE: %d\n", __func__, phy_inst, enable ? 0 : 1);
|
||||
|
||||
}
|
||||
|
||||
@@ -1620,6 +1631,8 @@ static void dccg35_set_physymclk(
|
||||
BREAK_TO_DEBUGGER();
|
||||
return;
|
||||
}
|
||||
DC_LOG_DEBUG("%s: phy_inst(%d) PHYxSYMCLK_EN = %d, PHYxSYMCLK_SRC_SEL = %d\n",
|
||||
__func__, phy_inst, force_enable ? 1 : 0, clk_src);
|
||||
}
|
||||
|
||||
static void dccg35_set_valid_pixel_rate(
|
||||
@@ -1667,6 +1680,7 @@ static void dccg35_dpp_root_clock_control(
|
||||
}
|
||||
|
||||
dccg->dpp_clock_gated[dpp_inst] = !clock_on;
|
||||
DC_LOG_DEBUG("%s: dpp_inst(%d) clock_on = %d\n", __func__, dpp_inst, clock_on);
|
||||
}
|
||||
|
||||
static void dccg35_disable_symclk32_se(
|
||||
@@ -1725,6 +1739,7 @@ static void dccg35_disable_symclk32_se(
|
||||
BREAK_TO_DEBUGGER();
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static void dccg35_init_cb(struct dccg *dccg)
|
||||
@@ -1732,7 +1747,6 @@ static void dccg35_init_cb(struct dccg *dccg)
|
||||
(void)dccg;
|
||||
/* Any RCG should be done when driver enter low power mode*/
|
||||
}
|
||||
|
||||
void dccg35_init(struct dccg *dccg)
|
||||
{
|
||||
int otg_inst;
|
||||
@@ -1747,6 +1761,8 @@ void dccg35_init(struct dccg *dccg)
|
||||
for (otg_inst = 0; otg_inst < 2; otg_inst++) {
|
||||
dccg31_disable_symclk32_le(dccg, otg_inst);
|
||||
dccg31_set_symclk32_le_root_clock_gating(dccg, otg_inst, false);
|
||||
DC_LOG_DEBUG("%s: OTG%d SYMCLK32_LE disabled and root clock gating disabled\n",
|
||||
__func__, otg_inst);
|
||||
}
|
||||
|
||||
// if (dccg->ctx->dc->debug.root_clock_optimization.bits.symclk32_se)
|
||||
@@ -1759,6 +1775,8 @@ void dccg35_init(struct dccg *dccg)
|
||||
dccg35_set_dpstreamclk(dccg, REFCLK, otg_inst,
|
||||
otg_inst);
|
||||
dccg35_set_dpstreamclk_root_clock_gating(dccg, otg_inst, false);
|
||||
DC_LOG_DEBUG("%s: OTG%d DPSTREAMCLK disabled and root clock gating disabled\n",
|
||||
__func__, otg_inst);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user