Skip to content

Commit 25358e0

Browse files
Taimur Hassanalexdeucher
authored andcommitted
drm/amd/display: Send DTBCLK disable message on first commit
[Why] Previous patch to allow DTBCLK disable didn't address boot case. Driver thinks DTBCLK is disabled by default, so we don't send disable message to PMFW. DTBCLK is then enabled at idle desktop on boot, burning power. [How] Set dtbclk_en to true on boot so that disable message is sent during first commit. Fixes: 27750e1 ("drm/amd/display: Allow DTBCLK disable for DCN35") Reviewed-by: Charlene Liu <charlene.liu@amd.com> Acked-by: Tom Chung <chiahsuan.chung@amd.com> Signed-off-by: Taimur Hassan <syed.hassan@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
1 parent 09d62c7 commit 25358e0

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,8 @@
7373
#define CLK1_CLK2_BYPASS_CNTL__CLK2_BYPASS_SEL_MASK 0x00000007L
7474
#define CLK1_CLK2_BYPASS_CNTL__CLK2_BYPASS_DIV_MASK 0x000F0000L
7575

76+
#define SMU_VER_THRESHOLD 0x5D4A00 //93.74.0
77+
7678
#define REG(reg_name) \
7779
(ctx->clk_reg_offsets[reg ## reg_name ## _BASE_IDX] + reg ## reg_name)
7880

@@ -411,9 +413,12 @@ static void dcn35_dump_clk_registers(struct clk_state_registers_and_bypass *regs
411413

412414
static void init_clk_states(struct clk_mgr *clk_mgr)
413415
{
416+
struct clk_mgr_internal *clk_mgr_int = TO_CLK_MGR_INTERNAL(clk_mgr);
414417
uint32_t ref_dtbclk = clk_mgr->clks.ref_dtbclk_khz;
415418
memset(&(clk_mgr->clks), 0, sizeof(struct dc_clocks));
416419

420+
if (clk_mgr_int->smu_ver >= SMU_VER_THRESHOLD)
421+
clk_mgr->clks.dtbclk_en = true; // request DTBCLK disable on first commit
417422
clk_mgr->clks.ref_dtbclk_khz = ref_dtbclk; // restore ref_dtbclk
418423
clk_mgr->clks.p_state_change_support = true;
419424
clk_mgr->clks.prev_p_state_change_support = true;

0 commit comments

Comments
 (0)