OSDN Git Service

drm/amd/display: Update PMFW z-state interface for DCN314
authorNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Fri, 9 Sep 2022 19:24:55 +0000 (15:24 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 10 Oct 2022 21:11:41 +0000 (17:11 -0400)
[Why]
Request from PMFW to change the messaging format to specify whether we
support z-state via individual bits.

[How]
Update the args we pass in the support message.

Fixes: d5c6909e7460 ("drm/amd/display: Add DCN314 clock manager")
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Reviewed-by: Charlene Liu <Charlene.Liu@amd.com>
Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
Acked-by: Qingqing Zhuo <qingqing.zhuo@amd.com>
Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org # 6.0
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c
drivers/gpu/drm/amd/display/dc/dcn314/dcn314_resource.c

index 897105d..ef0795b 100644 (file)
@@ -339,29 +339,24 @@ void dcn314_smu_set_zstate_support(struct clk_mgr_internal *clk_mgr, enum dcn_zs
        if (!clk_mgr->smu_present)
                return;
 
-       if (!clk_mgr->base.ctx->dc->debug.enable_z9_disable_interface &&
-                       (support == DCN_ZSTATE_SUPPORT_ALLOW_Z10_ONLY))
-               support = DCN_ZSTATE_SUPPORT_DISALLOW;
-
-
        // Arg[15:0] = 8/9/0 for Z8/Z9/disallow -> existing bits
        // Arg[16] = Disallow Z9 -> new bit
        switch (support) {
 
        case DCN_ZSTATE_SUPPORT_ALLOW:
                msg_id = VBIOSSMC_MSG_AllowZstatesEntry;
-               param = 9;
+               param = (1 << 10) | (1 << 9) | (1 << 8);
                break;
 
        case DCN_ZSTATE_SUPPORT_DISALLOW:
                msg_id = VBIOSSMC_MSG_AllowZstatesEntry;
-               param = 8;
+               param = 0;
                break;
 
 
        case DCN_ZSTATE_SUPPORT_ALLOW_Z10_ONLY:
                msg_id = VBIOSSMC_MSG_AllowZstatesEntry;
-               param = 0x00010008;
+               param = (1 << 10);
                break;
 
        default: //DCN_ZSTATE_SUPPORT_UNKNOWN
index 70b647b..d0ad72c 100644 (file)
@@ -881,7 +881,8 @@ static const struct dc_plane_cap plane_cap = {
 };
 
 static const struct dc_debug_options debug_defaults_drv = {
-       .disable_z10 = true, /*hw not support it*/
+       .disable_z10 = false,
+       .enable_z9_disable_interface = true,
        .disable_dmcu = true,
        .force_abm_enable = false,
        .timing_trace = false,