]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
drm/amd/display: Fixes for dcn32_clk_mgr implementation
authorAurabindo Pillai <aurabindo.pillai@amd.com>
Thu, 6 Apr 2023 16:28:59 +0000 (12:28 -0400)
committerStefan Bader <stefan.bader@canonical.com>
Wed, 9 Aug 2023 09:37:38 +0000 (11:37 +0200)
BugLink: https://bugs.launchpad.net/bugs/2028580
[ Upstream commit d1c5c3e252b8a911a524e6ee33b82aca81397745 ]

[Why&How]
Fix CLK MGR early initialization and add logging.

Fixes: 265280b99822 ("drm/amd/display: add CLKMGR changes for DCN32/321")
Reviewed-by: Leo Li <sunpeng.li@amd.com>
Reviewed-by: Qingqing Zhuo <qingqing.zhuo@amd.com>
Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c

index 200fcec1918615c79bf417b8e37d23a733515fb8..1859b2e4a98a18feff0399d2db2a71f94b0f48de 100644 (file)
@@ -719,6 +719,8 @@ void dcn32_clk_mgr_construct(
                struct pp_smu_funcs *pp_smu,
                struct dccg *dccg)
 {
+       struct clk_log_info log_info = {0};
+
        clk_mgr->base.ctx = ctx;
        clk_mgr->base.funcs = &dcn32_funcs;
        if (ASICREV_IS_GC_11_0_2(clk_mgr->base.ctx->asic_id.hw_internal_rev)) {
@@ -752,6 +754,7 @@ void dcn32_clk_mgr_construct(
                        clk_mgr->base.clks.ref_dtbclk_khz = 268750;
        }
 
+
        /* integer part is now VCO frequency in kHz */
        clk_mgr->base.dentist_vco_freq_khz = dcn32_get_vco_frequency_from_reg(clk_mgr);
 
@@ -759,6 +762,8 @@ void dcn32_clk_mgr_construct(
        if (clk_mgr->base.dentist_vco_freq_khz == 0)
                clk_mgr->base.dentist_vco_freq_khz = 4300000; /* Updated as per HW docs */
 
+       dcn32_dump_clk_registers(&clk_mgr->base.boot_snapshot, &clk_mgr->base, &log_info);
+
        if (ctx->dc->debug.disable_dtb_ref_clk_switch &&
                        clk_mgr->base.clks.ref_dtbclk_khz != clk_mgr->base.boot_snapshot.dtbclk) {
                clk_mgr->base.clks.ref_dtbclk_khz = clk_mgr->base.boot_snapshot.dtbclk;